我有以下代码:timeLocal := "01/July/2015:18:12:25 +0900"inFormat := "02/January/2006:15:04:05 -0700"parsed, err := time.Parse(inFormat, timeLocal)if err != nil { log.Fatal("Time format was not recognized!")}现在,解析工作正常。但是当我运行时:fmt.Println(timeLocal)fmt.Println(inFormat)fmt.Println(parsed)输出是:01/July/2015:18:12:25 +090002/January/2006:15:04:05 -07002015-07-01 18:12:25 +0900 +0900第二个应该在+0900那里吗?我在做什么蠢事?抱歉,这真是漫长的一天,我不知道我错过了什么。哦,整个文件在这里:package mainimport ( "fmt" "time" "log")func main() { timeLocal := "01/July/2015:18:12:25 +0900" inFormat := "02/January/2006:15:04:05 -0700" parsed, err := time.Parse(inFormat, timeLocal) if err != nil { log.Fatal("Time format was not recognized!") } fmt.Println(timeLocal) fmt.Println(inFormat) fmt.Println(parsed)}
2 回答
慕桂英546537
TA贡献1848条经验 获得超10个赞
Time.String使用的默认格式是这样的:
2006-01-02 15:04:05.999999999 -0700 MST
注意“MST”部分。由于您没有提供区域的名称,因此格式只是将其“命名”为与偏移量相同的名称,即“+0900”。如果您将其更改为“+0000”,您将看到这确实是一个时区名称:
2015-07-01 18:12:25 +0000 UTC
如果您不希望那样,只需使用单独的格式进行打印:
myFmt := "2006-01-02 15:04:05.999999999 -0700"
fmt.Println(parsed.Format(myFmt))
- 2 回答
- 0 关注
- 204 浏览
添加回答
举报
0/150
提交
取消