将格式化时间转换为 UTC 毫秒

Convert formatted time to UTC milliseconds

如何转换时间格式

2009-01-01T01:02:01.111+02:00

以毫秒为单位的 UTC?

是否已经有此转换的包?我查看了 https://golang.org/src/time/format.go 但找不到要转换的相同格式。

使用time.Parse.

演示:http://play.golang.org/p/ouiDtIVjQI

package main

import (
    "fmt"
    "time"
)

func main() {
    t, e := time.Parse(`2006-01-02T15:04:05.000-07:00`, `2009-01-01T01:02:01.111+02:00`)

    if e != nil {
        panic(e)
    }

    fmt.Println(t.UTC().UnixNano() / 1000000)
}

参考日期使用格式字符串 2006-01-02T15:04:05.000-07:00

格式非常标准 ISO8601,因此您可以使用 time.RFC3339 布局,例如

t, e := time.Parse(time.RFC3339, "2009-01-01T01:02:01.111+02:00")

...然后继续 .UnixNano(),如 's answer. More predefined layouts can be found in src/time/format.go