将Python解析为Golang - DateTime

M.T*_*nor 3 python datetime go

我一直在尝试从pyhtons datetime(2006-01-02T15:04:05.000Z)获取特定的字符串输出,这样我就可以使用time.Parse轻松地在golang中解析它.

我试过(在python中)

datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%S.%fZ')
Run Code Online (Sandbox Code Playgroud)

哪个会给我这样的东西:"2018-11-06T22:48:50.002750Z"

当我尝试在Golang中解析它时:

dtLayout := "2006-01-02T15:04:05.000Z"
dateStr := "2018-11-06T22:48:50.002750Z"

parsedDate, err := time.Parse(dtLayout, dateStr)
if err != nil {
    if err != nil {
        log.Printf("error: %v", err)
    }
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

2018/11/06 16:49:11错误:解析时间"2018-11-06T22:48:50.002750Z"为"2006-01-02T15:04:05.000Z":无法将"750Z"解析为"Z"

使用几毫秒可能有一种简单的方法来做到这一点,但我很顽固,觉得我很接近.

Jim*_*imB 5

小数秒内的零必须与字符数完全匹配,并且当您的错误指出时,后面750Z的部分与格式字符串的相应部分不匹配.

您可以添加正确数量的零"2006-01-02T15:04:05.000000Z",或者使用9更灵活的格式.

dtLayout := "2006-01-02T15:04:05.9Z"
Run Code Online (Sandbox Code Playgroud)

https://play.golang.org/p/dyC0OXUnhhu