デフォルトのタイムゾーンは、環境変数 TZ によって決定されます。オペレーティングシステム環境を参照してください。例えば、(setenv "TZ" "UTC0") を指定することで、Emacs
にユニバーサルタイムをデフォルトとして使用させることができます。環境変数に TZ
が設定されていない場合、Emacs はシステムのウォールクロック時刻を使用します。これはプラットフォームに依存するデフォルトのタイムゾーンです。
サポートされる TZ 文字列のセットはシステムによって異なります。GNU
をはじめとする多くのシステムは TZDB タイムゾーンをサポートしており、例えば ‘"America/New_York"’
はニューヨーク市近郊の地域におけるタイムゾーンと夏時間の歴史を指定します。GNU およびその他のほとんどのシステムは POSIX 形式の TZ 文字列をサポートしており、例えば ‘"EST5EDT,M4.1.0,M10.5.0"’ は 1987 年から
2006 年までニューヨークで適用された規則を指定します。すべてのシステムで、協定世界時を意味する文字列 ‘"UTC0"’ がサポートされています。
ローカル時刻への変換およびローカル時刻からの変換を行う関数は、変換時のタイムゾーンと夏時間履歴を指定するオプションのタイムゾーンルール引数を受け付けます。タイムゾーンルールが省略されるかnilの場合、変換にはEmacsのデフォルトタイムゾーンが使用されます。tの場合、変換には協定世界時が使用されます。wallの場合、変換にはシステムのウォールクロック時刻が使用されます。文字列の場合、変換にはTZにその文字列を設定した場合と同等のタイムゾーンルールが使用されます。リスト(offset abbr)であり、offsetが協定世界時から東にずれた秒数の整数、abbrが文字列である場合、変換には指定されたオフセットと略称を持つ固定タイムゾーンが使用されます。整数のoffsetは、(offset abbr)であるかのように扱われます。ここでabbrは、POSIX互換プラットフォームでは数値の略称であり、MS-Windowsでは未指定です。
この関数は、ユーザーが属するタイムゾーンを示すリストを返します。
この値の形式は (offset abbr) です。ここで offset
は、グリニッジ王立天文台の現地平均時であるグリニッジ平均時(GMT)を元々の基準とした時間尺度、協定世界時より進んだ秒単位の整数値です。正の値はグリニッジより東の時間帯に、負の値はグリニッジより西の時間帯に適しています。2番目の要素
abbr は、時間帯を表す、場合によっては曖昧な略号を含む文字列です。例えば、‘"IST"’
はインド標準時、アイルランド標準時、またはイスラエル標準時を表します。POSIX互換の時間帯略号は、それぞれがASCII英数字である3〜6文字の文字列で、‘+’ や ‘-’
などが該当します。どちらの要素も、夏時間が開始または終了する際に変更される可能性があります。ユーザーが季節調整を行わない時間帯を指定している場合、その値は一定となります。
オペレーティングシステムが値の算出に必要な情報をすべて提供しない場合、リストの未知の要素は nil
となります。
引数 time を指定すると、現在時刻の代わりに解析対象とする時刻値を指定できます。オプション引数 zone は、デフォルトで現在のタイムゾーンルールが適用されます。オペレーティングシステムにより、時刻およびタイムゾーン値の範囲が制限されています。