我必须使用以下格式转换字符串日期:
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
答案 0 :(得分:5)
请参阅转到package time。
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