特定のタイム ゾーンでの時刻の解析
時間データを扱う場合、多くの場合、時刻文字列を解析して使用可能な時間構造にすることが必要になります。 time.ParseTime() 関数を使用すると、提供されたレイアウトを使用して時刻文字列を解析できます。ただし、デフォルトでは、時刻は UTC であると想定されます。特定のタイム ゾーンの時間を扱う必要がある場合、これは問題になる可能性があります。
特定のタイム ゾーンの時間を解析するには、time.ParseTime() の代わりに time.ParseInLocation() 関数を使用できます。この関数は、時間文字列を解析するタイム ゾーンを指定する追加の Location パラメータを受け入れます。
たとえば、次のコードは、CEST タイム ゾーンで時間文字列を解析します。
<code class="go">import ( "fmt" "time" ) func main() { const timeString = "Jul 9, 2012 at 5:02am (CEST)" const layout = "Jan 2, 2006 at 3:04pm (MST)" location, err := time.LoadLocation("CEST") if err != nil { panic(err) } t, err := time.ParseInLocation(layout, timeString, location) if err != nil { panic(err) } fmt.Println(t) }</code>
このコードは次の出力を出力します:
2012-07-09 05:02:00 +0000 CEST
ご覧のとおり、時刻は CEST タイム ゾーンで正しく解析されています。
time.ParseInLocation() 関数でタイムゾーンを指定すると、デフォルトでローカルタイムゾーンになります。これにより、複数のタイムゾーンの時間データを操作している場合、予期しない結果が生じる可能性があります。
以上がGo を使用して特定のタイムゾーンの時間を解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。