我正在尝试 parse一个字符串作为时间但不幸的是得到了错误的月份(一月而不是六月)
package main
import "fmt"
import "time"
func main() {
t := "2014-06-23T20:29:39.688+01:00"
tc, _ := time.Parse("2006-01-02T15:04:05.000+01:00", t)
fmt.Printf("t was %v and tc was %v", t, tc)
}
最佳答案
问题是您的时区偏移量在布局中定义不正确:引用偏移量是 -0700
。您将您的定义为 +01:00
,因此 01
被解释为月份并删除先前定义的月份。由于您的工作偏移量也是 01
,因此它被解析为 1 月。
以下示例对我有用 playground
package main
import "fmt"
import "time"
func main() {
t := "2014-06-23T20:29:39.688+01:00"
tc, _ := time.Parse("2006-01-02T15:04:05.000-07:00", t)
fmt.Printf("t was %v and tc was %v", t, tc)
}
关于time - 为什么 time.Parse 会错误地解析时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24401901/