将 Python 解析为 Golang - DateTime

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


我试过(在 python 中)


datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%S.%fZ')

这会给我这样的东西:“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”


可能有一种仅需几毫秒即可完成此操作的简单方法,但我很固执,觉得自己很接近。


繁星淼淼
浏览 113回答 1
1回答

大话西游666

小数秒中的零必须与字符数完全匹配,并且如您的错误所述,后面的部分与750Z格式字符串的相应部分不匹配。您可以添加正确数量的零,例如"2006-01-02T15:04:05.000000Z",或用作9更灵活的格式。dtLayout := "2006-01-02T15:04:05.9Z"
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go