我试图在Golang中生成ISO 8601时间戳。
做
time.Now().UTC().Format(time.RFC3339)
//2016-04-12T19:32:20Z
在Javascript中
new Date().toISOString()
//2016-04-12T19:46:47.286Z
似乎唯一的区别在于JavaScript时间报告毫秒,而Golang它在几秒钟内产生它。我想尝试让它们变得相同。
我看过time.RFC3339Nano
但是这会产生太多的精确度2016-04-12T19:35:16.341032697Z
如何让Golang产生相当于JavaScript toISOString()
的时间?
答案 0 :(得分:4)
从pkg / time中查看constants are defined
RFC3339 = "2006-01-02T15:04:05Z07:00"
RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"
来自文档:
布局中使用的参考时间是具体时间: 1月2日星期一15:04:05 MST 2006
要定义自己的格式,请记下参考时间看起来格式化的方式;
它应该是这样的:
JavascriptISOString := "2006-01-02T15:04:05.999Z07:00"
time.Now().UTC().Format(JavascriptISOString)