从文档中我还不清楚如何以这种有些奇怪的格式解析日期。似乎不可能。
2016-07-08T08:34:24+00:00
以下不起作用(go play link)
package main
import (
"fmt"
"time"
)
func main() {
date := "2016-07-08T08:34:24+00:00"
d, err := time.Parse("2006-01-02T15:04:05+07:00", date)
if err == nil {
fmt.Println(d)
} else {
fmt.Println(err)
}
}
显然,正则表达式可以先检查该格式,然后将
+
转换为-
,但这意味着标准库无法解析此日期。 最佳答案
Go的参考布局使用-7小时作为时区偏移,但是您使用了+7小时:
package main
import (
"fmt"
"time"
)
func main() {
date := "2016-07-08T08:34:24+00:00"
d, err := time.Parse("2006-01-02T15:04:05-07:00", date)
if err == nil {
fmt.Println(d)
} else {
fmt.Println(err)
}
}
https://play.golang.org/p/FNzx57R2jy