タイム ゾーン オフセットを使用した Time.Time の構築
このシナリオでは、Apache ログから日付を正常に解析し、情報を取得しました。年、月、日、時、分、秒、タイムゾーンなど。指定されたタイム ゾーン オフセットを含む time.Time を構築するには、time.Local または time.UTC を利用できません。
Using time.FixedZone()
Toこの課題を解決するには、time.FixedZone() を活用できます。このメソッドを使用すると、固定タイム ゾーン オフセットを使用して time.Location を作成できます。例:
loc := time.FixedZone("myzone", -8*3600) nativeDate := time.Date(2019, 2, 6, 0, 0, 0, 0, loc) fmt.Println(nativeDate)
このコードは、-8 時間のオフセットを持つ「myzone」という名前の time.Location を構築し、それを使用して、指定された日付と時刻を持つ time.Time を作成します。
タイム ゾーン オフセットの解析
タイム ゾーン オフセットが文字列として提供されている場合、次を利用できます。 time.Parse() を使用して解析します。参照ゾーン オフセットのみを含むレイアウト文字列を使用します:
t, err := time.Parse("-0700", "-0800") fmt.Println(t, err)
このコードは、タイム ゾーン オフセットを time.Time オブジェクトとしてキャプチャします。
代替ソリューション
または、既存のコードを変更してタイムゾーン オフセットを組み込むこともできます。
t, err := time.Parse("-0700", "-0800") if err != nil { panic(err) } nativeDate := time.Date(2019, 2, 6, 0, 0, 0, 0, t.Location()) fmt.Println(nativeDate)
このソリューションは、まずタイム ゾーン オフセットを time.Time オブジェクトとして解析し、次に Location() メソッドを使用して、構築している time.Time のタイム ゾーンを設定します。
以上がタイムゾーンオフセットを指定して time.Time オブジェクトを構築するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。