Go の Time.Parse 関数がタイムゾーン識別子を解析しないのはなぜですか?
Go の time.Parse 関数を使用して時刻文字列を解析する場合、 「MST」などのタイムゾーン識別子は、「現在の場所」設定に基づいて解釈されます。現在の場所でその略語が認識されない場合、時刻はオフセット 0 で捏造された場所にあるものとして記録されます。
説明のために、次のコード スニペットで問題を示します。
date := "2018 08 01 12:00 EDT" tn, _ := time.Parse(format, date) fmt.Println(tn) // Print +0000 despite EDT indicating a -0400 offset
このコードは、time.Parse 関数を使用して「2006 01 02 15:04 MST」形式の日付文字列を解析し、結果の時刻を出力します。 物体。ただし、関数で使用される現在の場所が "EDT" の略語を認識しないため、予期される "-0400" ではなく " 0000" が出力されます。
この問題を回避するには、別の解析方法を使用できます。時間文字列:
これらのメソッドを利用すると、ゾーンの略語を含む時間文字列を正確に解析でき、タイムゾーン情報を正しく解釈できます。
以上がGo の「time.Parse」が「EDT」のようなタイムゾーン識別子を誤解するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。