登录
首页 >  Golang >  Go问答

奇异格式的 Golang 日期

来源:stackoverflow

时间:2024-03-14 08:21:29 488浏览 收藏

golang学习网今天将给大家带来《奇异格式的 Golang 日期》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!

问题内容

我必须使用以下格式转换字符串日期:

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

解决方案


参见go package time

0001-01-01 00:00:00 +0000 utctime.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

到这里,我们也就讲完了《奇异格式的 Golang 日期》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>