美文网首页
golang time包常用函数以及基础的类型转换

golang time包常用函数以及基础的类型转换

作者: MarksGui | 来源:发表于2017-11-07 21:39 被阅读100次

    近期项目使用到了时间和类型转换官方包,特此整理了一下, 方便大家查阅。

    1.[]byte转为string:

    data := [4]byte{0x31, 0x32, 0x33, 0x34}
    str := string(data[:])
    fmt.Println(str)
    
    输出:
    ☁  1107  go run main.go
    1234
    

    2.string 转为int64类型

    //string 50转为10进制,64位
    total, err := strconv.ParseInt("50", 10, 64)
    
    输出:
    ☁  1107  go run main.go
    50
    

    3.golang格式化为当前时间日期:

    nowTime := time.Now()
    //2006-01-02 15:04:05 此为固定用法,相当于php语言的Y-m-d H:i:s
    fmt.Println(nowTime.Format("2006-01-02 15:04:05"))
    
    输出:
    ☁  1107  go run main.go
    2017-11-07 21:19:46
    

    4.返回当前本地时间:

    func main() {
        fmt.Println(time.Now())
    }
    
    输出:
    ☁  1107  go run main.go
    2017-11-07 21:23:00.070186567 +0800 CST m=+0.000317995
    

    5.返回当前本地时间戳:

    func main() {
        fmt.Println(time.Now().Unix())
    }
    
    输出:
    ☁  1107  go run main.go
    1510061062
    

    6.给定时间戳和日期字符串转为golang标准时间:

    func main() {
        //给定日期字符串
        nowTime := time.Now()
        //2006-01-02 15:04:05 此为固定用法,相当于php语言的Y-m-d H:i:s
        x := nowTime.Format("2006-01-02 15:04:05")
        p, _ := time.Parse("2006-01-02 15:04:05", x)
        fmt.Println(p)
        
        //给定时间戳
        timestamp := time.Now().Unix()
        fmt.Println(time.Unix(timestamp, 0))
    }
    
    输出:
    ☁  1107  go run main.go
    2017-11-07 21:31:24 +0000 UTC
    2017-11-07 21:31:24 +0800 CST
    

    7.计算程序运行时间:

    func main() {
        t1 := time.Now()
    
        time.Sleep(time.Second * 2)
    
        elapsed := time.Since(t1)
        fmt.Println("程序运行时间为: ", elapsed)
    }
    
    输出:
    ☁  1107  go run main.go
    程序运行时间为:  2.004037981s
    

    相关文章

      网友评论

          本文标题:golang time包常用函数以及基础的类型转换

          本文链接:https://www.haomeiwen.com/subject/omlzuxtx.html