我从文档中不清楚如何以这种有点奇怪的格式解析日期。看起来似乎不太可能。
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)
}
}
显然,正则表达式可以首先检查此格式并将+
转换为-
,但这意味着标准库 cant 解析此日期。
答案 0 :(得分:3)
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)
}
}