我正在尝试在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
但这会产生太多的精度
我怎样才能让golang产生与javascript相当的时间?
最佳答案:
从pkg/时间中查找
RFC3339 = "2006-01-02T15:04:05Z07:00"
RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"
从文档中:
布局中使用的参考时间是特定时间:
2006年1月2日周一15:04:05
要定义自己的格式,请写下参考时间的格式;
应该是这样的:
JavascriptISOString := "2006-01-02T15:04:05.999Z07:00"
time.Now().UTC().Format(JavascriptISOString)