drpkcwwav20524605
drpkcwwav20524605
2018-12-17 15:14
浏览 98
已采纳

在golang中解析日期

Please help me to parse date like 2018-12-17 12:55:50 +0300 in golang

I'm trying with layout

layout := "2006-01-02 15:04:05 +0000"
dateString := "2018-12-17 12:55:50 +0300"
t, err := time.Parse(layout, dateString)
if err != nil {
    fmt.Println("Error while parsing date :", err)
}
fmt.Println(t.Format("2006-01-02 15:04:05"))

but compiler says Error while parsing date : parsing time "2018-12-17 12:55:50 +0300" as "2006-01-02 15:04:05 +0000": cannot parse "300" as " +0000"

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dty47696
    dty47696 2018-12-17 15:18
    已采纳

    Package time

    import "time"

    the [layout] reference time can be thought of as

    01/02 03:04:05PM '06 -0700
    

    Use -0700, not +0000.

    For example,

    package main
    
    import (
        "fmt"
        "time"
    )
    
    func main() {
        layout := "2006-01-02 15:04:05 -0700"
        dateString := "2018-12-17 12:55:50 +0300"
        t, err := time.Parse(layout, dateString)
        if err != nil {
            fmt.Println("Error while parsing date :", err)
        }
        fmt.Println(t.Format("2006-01-02 15:04:05"))
    }
    

    Playground: https://play.golang.org/p/Xr8zaTjODgC

    Output:

    2018-12-17 12:55:50
    
    点赞 评论

相关推荐