Разбор динамического формата времени в Go

Я работаю с внешним 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())
}

Если возвращаемое внешне форматированное время является 2018-11-05T06:19:59.827, это будет разбираться без проблем.

Но если возвращаемое время заканчивается нулями, оно будет сокращено как 2018-11-05T06:19:59.8 вместо 2018-11-05T06:19:59.800и перерыв. Нужно ли вручную добавлять нули в строку перед синтаксическим анализом, или есть что-то, что я пропустил, встроенный в Go, который будет обрабатывать это для меня?

1 ответ

Решение

Используйте этот макет вместо: 2006-01-02T15:04:05.999

Другие вопросы по тегам