Datetime 时间。解析错误,我做错了什么?
我遇到了关于golang中使用时间包进行datestring解析的最奇怪的问题 错误:Datetime 时间。解析错误,我做错了什么?,datetime,parsing,go,Datetime,Parsing,Go,我遇到了关于golang中使用时间包进行datestring解析的最奇怪的问题 错误: parsing time "07-20-2018" as "2006-01-02": cannot parse "0-2018" as "2006" 代码块: log.Println(datestring) //07-20-2018 date, err := time.Parse("2006-01-02", datestring) log.Println(err) //parsing time "07-20
parsing time "07-20-2018" as "2006-01-02": cannot parse "0-2018" as "2006"
代码块:
log.Println(datestring) //07-20-2018
date, err := time.Parse("2006-01-02", datestring)
log.Println(err) //parsing time "07-20-2018" as "2006-01-02": cannot parse "0-2018" as "2006"
log.Println(date) //parsing time "07-20-2018" as "2006-01-02": cannot parse "0-2018" as "2006"
我完全不知道这个问题指的是什么,字符串是用gorilla mux从golang中的URI解析出来的
datestring, _ := vars["date"] //some/path/{date}, date is 07-20-2018
有什么想法吗?很明显。您正在尝试将mm dd yyyy解析为yyyy-mm-dd
一个简单的解决方案:
package main
import (
"fmt"
"time"
)
func main() {
datestring := "07-20-2018"
fmt.Println(datestring)
date, err := time.Parse("01-02-2006", datestring)
fmt.Println(date, err)
}
游乐场:
输出:
07-20-2018
2018-07-20 00:00:00 +0000 UTC <nil>
07-20-2018
2018-07-20 00:00:00+0000 UTC
再见。谢谢!我没有意识到解析的输入应该是输入时间的格式,而不是您希望日期的输出格式。@BrandonHawkinson:
time。解析需要输入格式,以便解决歧义。例如,是“10-11-12”mm-dd-yy(美国)、dd-mm-yy(欧洲)、yy-mm-dd(ISO)等。