zoukankan      html  css  js  c++  java
  • Go_时间处理(time包)

    时间获取

    package main
    
    import (
        "fmt"
        "time"
    )
    
    func main()  {
        timeObj :=time.Now()  //返回的是个对象
        fmt.Println(timeObj) //2021-03-25 22:14:57.3459874 +0800 CST m=+0.003004101
    
        // 过去年-月-日 时-分-秒的格式
        year := timeObj.Year()
        fmt.Println(year)  //2021
    
        month := timeObj.Month()
        fmt.Println(month) // March
    
        day := timeObj.Day()
        fmt.Println(day) //25
    
        hour := timeObj.Hour()
        fmt.Println(hour) //22
    
        minute := timeObj.Minute()
        fmt.Println(minute) //18
    
        second := timeObj.Second()
        fmt.Println(second) //4
    
        fmt.Printf("%d-%d-%d %d:%d:%d
    ", year, month, day, hour, minute, second) //2021-3-25 22:21:37
    
        fmt.Printf("%d-%02d-%02d %02d:%02d:%02d", year, month, day, hour, minute, second) //2021-03-25 22:21:37
    
        //注意:%02d 中的 2 表示宽度,如果整数不够 2 列就补上 0
    
    }

    自定义格式

    go中没有像PHP "Y-m-d"这样格式全部使用数字代表

    package main
    
    import (
        "fmt"
        "time"
    )
    
    /*
    时间类型有一个自带的方法Format进行格式化,
    需要注意的是Go语言中格式化时间模板不是常见的Y-m-d H:M:S
    而是使用Go的诞生时间2006年1月2号15点04分(记忆口诀为2006 1 2 3 4)
    
    
    2006  年
    01  月
    02  日
    03  时   12小时制     写成:15   表示   24小时制
    04  分
    05  秒
    
    */
    func main() {
        // timeObj := time.Now()
        // var str = timeObj.Format("2006-01-02 03:04:05")
        // fmt.Println(str) //2020-04-26 05:44:24
    
        //12小时制
        // timeObj := time.Now()
        // var str = timeObj.Format("2006/01/02 03:04:05")
        // fmt.Println(str) //2020/04/26 05:44:47
    
        // 24小时制
        timeObj := time.Now()
        var str = timeObj.Format("2006/01/02 15:04:05")
        fmt.Println(str) // 2020/04/26 17:48:53
    }

    时间戳&日期格式转换

    package main
    
    import (
        "fmt"
        "time"
    )
    
    func main() {
        // 1.获取当前时间戳 (毫秒)
        timeObj := time.Now()
        sjc := timeObj.Unix()
        fmt.Println(sjc) // 1616759478
    
        //2.时间戳转换为日期格式 注意int64转换
        timeObj2 := time.Unix(int64(sjc), 0)
        dateStr := timeObj2.Format("2006-01-02 15:04:05")
        fmt.Println(dateStr) //    2021-03-26 19:51:18
    
        //3.日期格式转为时间戳
        str := "2021-03-26 19:51:18"
        tmp := "2006-01-02 15:04:05" // 需要和被转换的日期字符串格式一致
        timeObj3, _ := time.ParseInLocation(tmp, str, time.Local)
        fmt.Println(timeObj3.Unix()) // 1616759478
    
    }
     
    注重细节——关注底层——注重细节——关注底层——注重细节——关注底层——注重细节——关注底层——注重细节——关注底层
  • 相关阅读:
    CF G. Running Competition (NTT, 思维)
    ABC 177 F
    牛客练习赛68 D.牛牛的粉丝 (期望DP,矩阵快速幂)
    CF E
    HDU 6761 Minimum Index (字符串--Lyndon分解)
    D. GameGame (思维、博弈)
    P2533 最小圆覆盖
    P4049 [JSOI2007]合金
    P2510 [HAOI2008]下落的圆盘
    P3205 [HNOI2010]合唱队
  • 原文地址:https://www.cnblogs.com/PJG20/p/14579823.html
Copyright © 2011-2022 走看看