在Go中解析动态时间格式

时间:2018-11-05 06:45:27

标签: go datetime-parsing

我正在使用外部API,如果最后一个值为零,则有时会缩短返回的时间戳。

layout := "2006-01-02T15:04:05.000"
opened, err := time.Parse(layout, externallyFormattedTimestamp)
if err != nil {
    fmt.Println("something went wrong parsing the timestamp")
    fmt.Println(err.Error())
}

如果返回的externallyFormattedTimestamp为2018-11-05T06:19:59.827,则将进行解析而不会出现问题。

但是,如果返回的时间以零结尾,则会像2018-11-05T06:19:59.8而不是2018-11-05T06:19:59.800那样缩短并中断。在解析之前,我是否需要手动将零添加到字符串,还是Go内置的东西我会错过呢?

1 个答案:

答案 0 :(得分:1)

改为使用以下布局:2006-01-02T15:04:05.999