次のコード スニペットを実行すると、主にGo の time パッケージのドキュメントとその Parse 関数の例から派生したものになります。
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
では、なぜこの関数はこのように奇妙な動作をするのでしょうか? どうすれば対処できますか?関数を使用するたびに、レイアウト変数を常に定義する必要があります2006-Jan-02
か?
ありがとう。