我只想将日期值解析为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("")
}
Run Code Online (Sandbox Code Playgroud)
输出是这样的:
Format: 2006-12-01
parsing time "2016-03-31" as "2006-12-01": cannot parse "-31" as "2"
Run Code Online (Sandbox Code Playgroud)
这些是在 Time.Format 和 Time.Parse 中使用的预定义布局。布局中使用的参考时间是具体时间:
Run Code Online (Sandbox Code Playgroud)Mon Jan 2 15:04:05 MST 2006这是 Unix 时间 1136239445。由于 MST 是 GMT-0700,所以参考时间可以认为是
Run Code Online (Sandbox Code Playgroud)01/02 03:04:05PM '06 -0700要定义您自己的格式,请写下参考时间按照您的方式格式化的样子;例如,请参阅 ANSIC、StampMicro 或 Kitchen 等常量的值。
用于format := "2006-01-02"yyyy-mm-dd。
| 归档时间: |
|
| 查看次数: |
7893 次 |
| 最近记录: |