您的位置:首页 > 编程语言 > Go语言

Go学习笔记:time包使用

2016-10-11 14:37 351 查看
摘要: 和python一样,golang时间处理还是比较方便的,以下按照之前python的时间处理展开

golang时间处理

相关包 "time"

时间戳 

当前时间戳

fmt.Println(time.Now().Unix())
# 1389058332


str格式化时间

当前格式化时间

fmt.Println(time.Now().Format("2006-01-02 15:04:05"))  // 这是个奇葩,必须是这个时间点, 据说是go诞生之日, 记忆方法:6-1-2-3-4-5
# 2014-01-07 09:42:20


时间戳转str格式化时间

str_time := time.Unix(1389058332, 0).Format("2006-01-02 15:04:05")
fmt.Println(str_time)
# 2014-01-07 09:32:12


str格式化时间转时间戳

这个比较麻烦

the_time := time.Date(2014, 1, 7, 5, 50, 4, 0, time.Local)
unix_time := the_time.Unix()
fmt.Println(unix_time)
# 389045004

还有一种方法,使用time.Parse

the_time, err := time.Parse("2006-01-02 15:04:05", "2014-01-08 09:04:41")
if err == nil {
        unix_time := the_time.Unix()
fmt.Println(unix_time)
}
# 1389171881


转自:https://my.oschina.net/1123581321/blog/190942

package main

import (
"fmt"
"time"
)

func main() {
t, _ := time.Parse("2006-01-02 15:04:05", "2016-04-20 16:23:00")
fmt.Println(t.Unix())
y, m, d := time.Unix(1466344320, 0).Date()
fmt.Println(y, m, d)

//format后面的字符串必须是2006-01-02 15:04:05,据说go是这个时间诞生的
fmt.Println(time.Now().Format("2006-01-02 15:04:05"))
fmt.Println(time.Now().Format("2006-01-02"))
fmt.Println(time.Now().Format("20060102"))

select {
case <-time.After(5 * time.Second):
fmt.Println("After 5 second")
}
c := time.Tick(10 * time.Second)
for now := range c {
fmt.Println(now)
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  go golang