Javascript toISOString 在 Golang 中的时间

Javascript toISOString time in Golang

我正在尝试在 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() 的时间?

从 pkg/time 中查找 constants are defined

RFC3339     = "2006-01-02T15:04:05Z07:00"
RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"

来自文档:

The reference time used in the layouts is the specific time: Mon Jan 2 15:04:05 MST 2006

To define your own format, write down what the reference time would look like formatted your way;

应该是这样的:

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