自分用メモ。

ローカルタイムからUTCに変換

UTCからローカルタイムに変換

現在の時刻をUTCに変換

ロケーションの取得

LoadLocationのコードリーディング

LoadLocationtime/zoneinfo.goに定義されています。

zoneinfoはZONEINFO環境変数の値になります。値が入っていない場合はloadLocationを呼び出します。UNIX系列の場合は以下の関数が呼び出されます。

zoneDirstime/zoneinfo_unix.goで定義されていて、タイムゾーン情報が格納されるディレクトリやzipファイルの配列になります。

loadZoneFileではzoneinfoディレクトリとロケーション名が引数で渡されます。

ディレクトリ名+指定したタイムゾーンのファイル名(i.g. “Asia/Tokyo”)でファイルを検索し、ファイルが存在すればタイムゾーン情報ファイルをloadZoneDataで読み出して、Location構造体に格納します。