Дата разбора дает ошибку: месяц вне диапазона в Go - PullRequest
0 голосов
/ 14 октября 2019

У меня есть дата:

myStringDate = "27-09-2019"

, которая является строкой, и мне нужно преобразовать ее во время. Время в Go.

Итак, я делаю:

date, err = time.Parse("01-02-2006", myStringDate)

И я получаю сообщение об ошибке:

data:<*time.ParseError>(0xc000098140)
:<time.ParseError>
Layout:"01-02-2006"
Value:"27-09-2019"
LayoutElem:"01"
ValueElem:"-09-2019"
Message:": month out of range"

Тем не менее, схема, которую я использую для разбора, кажется нормальной.

Я анализирую несколько файлов, все поступающие из одних и тех же источников, и другой файл может быть проанализирован без каких-либо проблем

Какой момент я пропускаю?

1 Ответ

2 голосов
/ 14 октября 2019

Согласно документации , параметр макета для Parse является канонической датой «Пн Ян 2 15:04:05 -0700 MST 2006», представленной в нужном формате. Это означает, что вы указали формат MM-DD-YYYY, когда ваши данные выглядят как DD-MM-YYYY. Если это так, ваша строка макета должна быть 02-01-2006.

myStringDate := "27-09-2019"
date, err := time.Parse("02-01-2006", myStringDate)

https://play.golang.org/p/qUEDtcG1v3W

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...