github.com/shogo82148/std@v1.22.1-0.20240327122250-4e474527810c/time/zoneinfo.go (about) 1 // Copyright 2011 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package time 6 7 // Locationは、時間の瞬間をその時点で使用されているタイムゾーンにマップします。 8 // 通常、Locationは、地理的な地域で使用される時間オフセットのコレクションを表します。 9 // 多くのLocationでは、時間オフセットは、その時点で夏時間が使用されているかどうかによって異なります。 10 // 11 // Locationは、印刷されたTime値でタイムゾーンを提供し、夏時間の境界をまたぐ可能性のある間隔に関する計算に使用されます。 12 type Location struct { 13 name string 14 zone []zone 15 tx []zoneTrans 16 17 // tzdata情報の後に、zoneTransに記録されていないDSTの移行をどのように処理するかを説明する文字列が続く場合があります。 18 // フォーマットは、コロンを含まないTZ環境変数です。詳細は、以下を参照してください。 19 // https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html。 20 // 例として、America/Los_Angelesの場合は、PST8PDT,M3.2.0,M11.1.0となります。 21 extend string 22 23 // ほとんどの検索は現在の時刻で行われます。 24 // txをバイナリサーチしないように、 25 // Locationが作成された時点の正しいタイムゾーンを 26 // 提供する静的な単一要素キャッシュを保持します。 27 // もし cacheStart <= t < cacheEnd であれば、 28 // キャッシュは cacheZone を返すことができます。 29 // cacheStart と cacheEnd の単位は、 30 // lookupへの引数と一致するように、 31 // 1970年1月1日UTCからの秒数です。 32 cacheStart int64 33 cacheEnd int64 34 cacheZone *zone 35 } 36 37 // UTCは協定世界時(UTC)を表します。 38 var UTC *Location = &utcLoc 39 40 // Local はシステムのローカルなタイムゾーンを表します。 41 // Unix システムでは、Local は TZ 環境変数を参照して使用するタイムゾーンを見つけます。TZ が指定されていない場合は、システムのデフォルトの /etc/localtime を使用します。 42 // TZ="" は UTC を使用します。 43 // TZ="foo" はシステムのタイムゾーンディレクトリ内のファイル foo を使用します。 44 var Local *Location = &localLoc 45 46 // Stringは、LoadLocationまたはFixedZoneのname引数に対応する、タイムゾーン情報の記述的な名前を返します。 47 func (l *Location) String() string 48 49 // FixedZoneは、常に指定されたタイムゾーン名とオフセット(UTCからの秒数)を使用するLocationを返します。 50 func FixedZone(name string, offset int) *Location 51 52 // LoadLocationは指定された名前を持つLocationを返します。 53 // 54 // 名前が""または"UTC"の場合、LoadLocationはUTCを返します。 55 // 名前が"Local"の場合、LoadLocationはLocalを返します。 56 // 57 // それ以外の場合、名前はファイルに対応する場所の名前であり、 58 // IANAタイムゾーンデータベースの中に存在します。例えば"America/New_York"です。 59 // 60 // LoadLocationは以下の順序でIANAタイムゾーンデータベースを探します: 61 // 62 // - ZONEINFO環境変数によって指定されたディレクトリまたは解凍されたzipファイル 63 // - Unixシステムでは、システムの標準インストール場所 64 // - $GOROOT/lib/time/zoneinfo.zip 65 // - インポートされていた場合、time/tzdataパッケージ 66 func LoadLocation(name string) (*Location, error)