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"
使用几毫秒可能有一种简单的方法来做到这一点,但我很顽固,觉得我很接近.
小数秒内的零必须与字符数完全匹配,并且当您的错误指出时,后面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