如何解析日期到时间。时间?

时间:2017-07-28 11:35:15

标签: go

我只想将日期值解析为time.Time。 例如,我的日期格式为:2016-03-31,我想解析它,例如:time.Parse(FORMAT, "2016-03-31")

但它总是失败。

用于解析此格式的日期的正确格式字符串是什么?

我将以下代码作为示例,它也在操场上:https://play.golang.org/p/0MNLr9emZd

package main

import (
    "fmt"
    "time"
)

var dateToParse = "2016-03-31"

func main() {
    format := "2006-12-01"
    parseDate(format)
}

func parseDate(format string) {
    t, err := time.Parse(format, dateToParse)
    if err != nil {
        fmt.Println("Format:", format)
        fmt.Println(err)
        fmt.Println("")
        return
    }
    fmt.Println("Works Format:", format)
    fmt.Println(t)
    fmt.Println("")
}

输出是这样的:

Format: 2006-12-01
parsing time "2016-03-31" as "2006-12-01": cannot parse "-31" as "2"

1 个答案:

答案 0 :(得分:2)

  

Package time

     

这些是在Time.Format和Time.Parse中使用的预定义布局。   布局中使用的参考时间是特定时间:

Mon Jan 2 15:04:05 MST 2006
     

这是Unix时间1136239445.由于MST是GMT-0700,所以参考   时间可以被认为是

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

要定义自己的格式,请记下参考时间   看起来像格式化你的方式;看到像ANSIC这样的常量值,   例如StampMicro或Kitchen。

format := "2006-01-02"用于yyyy-mm-dd。