你如何将“月dd,yyyy”转换为Go中的yyyy-mm-dd?

时间:2017-06-02 23:09:04

标签: go time

我需要将例如“1996年4月20日”转换为1996-04-20。我尝试了以下代码,但我感觉我正在以某种方式反向进行。

func main() {
    value  := "April 20, 1996"
    layout := "January 1, 1996"
    t, _ := time.Parse(layout, value)
    fmt.Println(t)
    mydate, _ := time.Parse("2006-01-02", "2016-07-08")
    fmt.Println("time:", mydate.Format("April 20, 1996 (MST)"))
}

1 个答案:

答案 0 :(得分:2)

您只需使用输入布局解析时间,然后使用输出布局进行打印。布局总是指定参考时间(Mon Jan 2 15:04:05 MST 2006)如何以给定格式显示。我想这就是你想要的:

func main() {
    value := "April 20, 1996"
    layout := "January 2, 2006"
    t, _ := time.Parse(layout, value)
    fmt.Println(t)
    fmt.Println("time:", t.Format("2006-01-02"))
}

有关详细信息,请参阅https://golang.org/pkg/time/