将Python解析为Golang-DateTime

将Python解析为Golang-DateTime,python,datetime,go,Python,Datetime,Go,我一直在尝试从Pythons datetime获取特定的字符串输出 (2006-01-02T15:04:05.000Z),因此我可以使用time.parse在golang中轻松解析它 我试过(用python) 这会给我这样的信息:“2018-11-06T22:48:50.002750Z” 当我试着在Golang中这样解析它时: dtLayout := "2006-01-02T15:04:05.000Z" dateStr := "2018-11-06T22:48:50.002750Z" pars

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

我试过(用python)

这会给我这样的信息:“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)
    }
我得到这个错误:

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


也许有一种简单的方法可以用几毫秒来完成,但我很固执,感觉自己很接近

小数秒中的零必须与字符数完全匹配,并且正如错误所述,
750Z
之后的部分与格式字符串的相应部分不匹配

您可以添加正确数量的零,如
“2006-01-02T15:04:05.000000 z”
,或者使用
9
作为更灵活的格式

dtLayout := "2006-01-02T15:04:05.9Z"

9!这就是我想要的解决方案。非常感谢你,它工作得很好,而且不觉得太脏
dtLayout := "2006-01-02T15:04:05.9Z"