2 回答

TA贡献1799条经验 获得超9个赞
问题是你的参数,
而不是你应该有layout"2006-01-02T15:04:05+00:00"+00:00-07:00
这应该有所帮助,
package main
import (
"fmt"
"time"
)
func main() {
date := "2021-05-09T12:10:00+01:00"
layout := "2006-01-02T15:04:05-07:00"
t, err := time.Parse(layout, date)
if err != nil {
fmt.Println(err)
}
fmt.Println(t)
}
输出: 2021-05-09 12:10:00 +0100 +0100
Playground: https://play.golang.org/p/UcrIDfJRcNV
不要混淆为什么时区显示两次。
它在这个答案中解释,Golang时间 - 时区显示两次
特殊参数仅接受一组特定的有效数字。您可以在此处引用它们,
https://yourbasic.org/golang/format-parse-string-time-date-example/layout

TA贡献1833条经验 获得超4个赞
您需要通过号码(不是):-7:00+1:00
// pt, err := time.Parse("2006-01-02T15:04:05+1:00", dt) // not this
pt, err := time.Parse("2006-01-02T15:04:05-07:00", dt) // this
https://play.golang.org/p/n697vKUHSjD
- 2 回答
- 0 关注
- 239 浏览
添加回答
举报