如何获取Go中的当前时间戳?
在Go中获取当前时间戳并转换为string的最佳方式是什么? 我需要例如date和时间。 YYYYMMDDhhmmss格式。
使用time.Now()
函数和time.Now()
time.Format()
方法。
t := time.Now() fmt.Println(t.Format("20060102150405"))
打印出20110504111515
,或者至less在几分钟前完成。 (我在东部夏令时。)时间包中定义的常量中有几个预定义的时间格式。
你可以使用time.Now().UTC()
如果你希望UTC比你的本地时区。
使用time.Now()和time.Format()函数(因为time.LocalTime()从1.0.3开始不再存在)
t := time.Now() fmt.Println(t.Format("20060102150405"))
在线演示 (date固定在操场上,不要紧)
为了可读性,最好在时间包中使用RFC常量(我认为)
import "fmt" import "time" func main() { fmt.Println(time.Now().Format(time.RFC850)) }
所有其他的反应是非常错过领先的来自谷歌的人,并寻找“时间戳进去”! YYYYMMDDhhmmss不是“时间戳”。
为了得到一个date的时间戳(1970年1月的秒数),正确的函数是.Unix() ,它真的返回一个整数
作为@ Bactisme响应的回声,检索当前时间戳(例如以毫秒为单位)的方式是:
msec := time.Now().UnixNano() / 1000000
资源: https : //gobyexample.com/epoch
要回答确切的问题:
import "github.com/golang/protobuf/ptypes" Timestamp, _ = ptypes.TimestampProto(time.Now())