如何获取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())