Разбор Python для Голанга - DateTime - PullRequest
0 голосов
/ 07 ноября 2018

Я пытался получить конкретную строку вывода из pyhtons datetime (2006-01-02T15: 04: 05.000Z), так что я могу легко разобрать его в golang, используя time.Parse.

Я пытался (в Python)

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

Что даст мне что-то вроде этого: "2018-11-06T22: 48: 50.002750Z"

И когда я пытаюсь разобрать это так на Голанге:

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 "

Вероятно, есть простой способ сделать это, используя всего лишь миллисекунды, но я упрям ​​и чувствую, что я рядом.

1 Ответ

0 голосов
/ 07 ноября 2018

Нули в долях секунды должны точно соответствовать количеству символов, и, как свидетельствует ваша ошибка, часть после 750Z не соответствует соответствующей части строки формата.

Вы можете добавить правильное количество нулей, например "2006-01-02T15:04:05.000000Z", или использовать 9 в качестве более гибкого формата.

dtLayout := "2006-01-02T15:04:05.9Z"

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

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