Java语言到Golang中的ISOString时间

K2x*_*2xL 3 javascript time iso go

我正在尝试在Golang中生成ISO 8601时间戳。

在做

time.Now().UTC().Format(time.RFC3339)
//2016-04-12T19:32:20Z
Run Code Online (Sandbox Code Playgroud)

用Java语言编写

new Date().toISOString()
//2016-04-12T19:46:47.286Z
Run Code Online (Sandbox Code Playgroud)

似乎唯一的区别是JavaScript时间以毫秒为单位,而Golang以秒为单位。我想尝试使它们相同。

我看过 time.RFC3339Nano

但这会产生太多的精度 2016-04-12T19:35:16.341032697Z

如何让Golang产生与JavaScript相等的时间toISOString()

mat*_*t.s 5

从在定义常量的 pkg / time中查找

RFC3339     = "2006-01-02T15:04:05Z07:00"
RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"
Run Code Online (Sandbox Code Playgroud)

从文档中:

布局中使用的参考时间为特定时间:2006年1月2日星期一1:04

要定义自己的格式,请写下参考时间,以哪种方式格式化;

应该是这样的:

JavascriptISOString := "2006-01-02T15:04:05.999Z07:00"
time.Now().UTC().Format(JavascriptISOString)
Run Code Online (Sandbox Code Playgroud)

  • 你是对的,但语言设计者倾向于寻找一个最小集合(即使它有时会排除有用的东西)。至少它很容易自己制作。 (2认同)