デフォルトのタイムゾーンは環境変数TZ
により判断されます。オペレーティングシステムの環境を参照してください。たとえば(setenv "TZ"
"UTC0")
とすれば万国標準時の使用をEmacsに指示できます。その環境にTZ
がなければ、Emacsはプラットフォーム依存のデフォルト時刻であるシステムの実時間(system
wall clock time)を使用します。
サポートされるTZ
のセットはシステム依存です。GNUと他の多くのシステムはTZDBタイムゾーンをサポートします。これはたとえば‘"America/New_York"’はニューヨーク市周辺のタイムゾーンを夏時間ヒストリーを指定します。GNUと他の多くのシステムはPOSIXスタイルのTZ
セッティングをサポートします。これはたとえば‘\"EST+5EDT,M4.1.0/2,M10.5.0/2\"’は1987から2006にニューヨークで使用されたルールを指定します。すべてのシステムは万国標準時(Universal
Time)を意味する‘"UTC0"’文字列をサポートします。
ローカル時刻にたいする変換関数は、変換のタイムゾーンと夏時間の履歴を指定するタイムゾーンルール)time zone
ruleをオプションとして受け取ります。タイムゾーンルールが省略かnil
なら、変換にはデフォルトのタイムゾーン、t
なら万国標準時、wall
ならシステムの実時間(system
wall clock
time)が使用されます。これが文字列なら変換にはTZ
にその文字列をセットしたのと等価なタイムゾーンルールが使用されます。(offset
abbr) (
offsetは万国標準時刻より進んでいる秒数を与える整数でabbrは文字列)のようなリストなら、変換には与えられたオフセットと省略名の固定タイムゾーンが使用されます。整数offsetの場合には、POSIX互換プラットフォームでは数値省略形のabbr、MS-Windowsでは未指定のabbrのとなるような(offset
abbr)であるかのように扱われます。
この関数はユーザーが居るタイムゾーンを記すリストをリターンする。
値は(offset
abbr)
という形式をもつ。ここでoffsetは万国標準時刻より進んでいる秒数(グリニッジより東)を与える整数。負の値はグリニッジより西を意味する。2つ目の要素abbrはそのタイムゾーンのを与える省略名の文字列。たとえば‘"CST"’は中国標準時か米国中部標準時のタイムゾーン。夏時間の開始と終了時に、いずれの要素も変化し得る。ユーザーが季節時間調整を用いていないタイムゾーンを指定した場合には、値は時期を通して定数となる。
この値を計算するのに必要なすべての情報をオペレーティングシステムが提供しなければ、このリストの未知の要素はnil
になる。
引数timeが与えられたら、それはカレント時刻のかわりに分析するべきtime値を指定する。オプション引数zoneのデフォルトはカレントのタイムゾーンルール。timeの範囲およびzoneの値はオペレーティングシステムが制限する。