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

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

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包常用函数以及基础的类型转换)