当您执行以下代码片段时,主要是从Go的时间包文档和其解析函数示例派生而来:
然后,您就可以在控制台中获取正确的结果
package main
import (
"time"
"fmt"
)
var shortForm = "2006-Jan-02"
t, _ := time.Parse(shortForm, "2013-Feb-03")
fmt.Println(t)
然后,您就可以在控制台中获取正确的结果
2013-02-03 00:00:00 +0000 UTC
。但是,当您稍微改变shortForm
的值,例如2007-Jan-02
、2006-Feb-02
或2006-Jan-01
时,它会输出错误的结果,而且输出看起来甚至不规律,例如0001-01-01 00:00:00 +0000 UTC
、2013-03-01 00:00:00 +0000 UTC
或2013-01-03 00:00:00 +0000 UTC
。那么为什么函数会表现得这么奇怪呢?我该如何处理它?每次使用该函数时,我是否应该始终将layout变量定义为2006-Jan-02
?谢谢。
Go
的范围,更与计算机或语言如何处理时间有关,对吧?非常感谢你的回答。 - Blaszard