Невозможно проанализировать время как T при разборе строки RFC3339 на время - PullRequest
0 голосов
/ 19 марта 2020

У меня есть строка из db, скажем

dbString := "2020-03-16 14:46:13 +0530 IST"

Мне нужно вставить эту строку как Timestamptz в другую таблицу

Я пытаюсь преобразовать dbString во время

timeToBeInserted := time.Parse(time.RFC3339,t.VO.DateLastModified)

Я вижу ошибку ниже

+0000 UTC parsing time "2020-03-16 14:46:13 +0530 IST" as "2006-01-02T15:04:05Z07:00": cannot parse " 14:46:13 +0530 IST" as "T"

Ответы [ 2 ]

5 голосов
/ 19 марта 2020

Ваша строка даты не соответствует RFC3339 формат:

RFC3339     = "2006-01-02T15:04:05Z07:00"

Вы должны использовать пользовательский формат. Следующая строка работает с вашей строкой:

dbString := "2020-03-16 14:46:13 +0530 IST"
fmt.Println(time.Parse("2006-01-02 15:04:05 -0700 MST", dbString))


// Output:
// 2020-03-16 14:46:13 +0530 IST <nil>
2 голосов
/ 19 марта 2020

Ваша временная строка не в формате RFC3339, поэтому не говорите time.Parse, что она есть. Вместо этого используйте

time.Parse("2006-01-02 15:04:05 -0700 MST", t.VO.DateLastModified)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...