摘要: 和python一样,golang时间处理还是比较方便的,以下按照之前python的时间处理展开
golang时间处理
相关包 "time"
-
时间戳
当前时间戳fmt.Println(time.Now().Unix()) #1389058332
-
str格式化时间
当前格式化时间fmt.Println(time.Now().Format("2006-01-0215:04:05"))//这是个奇葩,必须是这个时间点,据说是go诞生之日,记忆方法:6-1-2-3-4-5 #2014-01-0709:42:20
-
时间戳转str格式化时间
str_time:=time.Unix(1389058332,0).Format("2006-01-0215:04:05") fmt.Println(str_time) #2014-01-0709:32:12
-
str格式化时间转时间戳
这个比较麻烦the_time:=time.Date(2014,1,7,5,50,4,time.Local) unix_time:=the_time.Unix() fmt.Println(unix_time) #389045004
还有一种方法,使用time.Parse
the_time,err:=time.Parse("2006-01-0215:04:05","2014-01-0809:04:41") iferr==nil{ unix_time:=the_time.Unix() fmt.Println(unix_time) } #1389171881
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,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) } }原文链接:https://www.f2er.com/go/189336.html