Голанг странный формат даты - PullRequest
0 голосов
/ 29 октября 2018

Мне нужно преобразовать строковую дату в следующем формате:

Thu, 01 Nov 2018 14:20:34 +0700

.. в этот формат:

2018-11-01 14:20:34

Я попробовал это со следующим кодом:

dt_pub, err := time.Parse("RFC1123", Thu, 01 Nov 2018 14:20:34 +0700)
dt_pub.Format("2006-01-02 15:04:05")

Но, к сожалению, результат выглядит так:

0001-01-01 00:00:00 +0000 UTC

1 Ответ

0 голосов
/ 29 октября 2018

См. Go время упаковки .

0001-01-01 00:00:00 +0000 UTC является нулевым значением для time.Time. Нулевое значение возвращается, когда произошла ошибка синтаксического анализа.

Проверка на ошибки. Используйте компоновку time.RFC1123Z (RFC1123 с числовой зоной) для анализа, чтобы соответствовать вашему вводу. Например,

package main

import (
    "fmt"
    "time"
)

func main() {
    dt_pub, err := time.Parse(time.RFC1123Z, "Thu, 01 Nov 2018 14:20:34 +0700")
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(dt_pub)
    fmt.Println(dt_pub.Format("2006-01-02 15:04:05"))
}

Детская площадка: https://play.golang.org/p/rIoRVWArhfx

Выход:

2018-11-01 14:20:34 +0700 +0700
2018-11-01 14:20:34
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...