次: Time Conversion, 前: User Identification, 上: System Interface
本節では、現在時刻と時刻帯(タイムゾーン)を調べる方法を説明します。
この関数は、人間向けの文字列で現在時刻と日付を返す。 文字列の書式は不変であり、各部分の文字数はつねに同じなので、 各部分を取り出すのに
substring
を使っても問題ない。 将来、文字列の末尾に追加情報を付加することもあるので、 文字列の末尾からではなく先頭から文字を数えるほうがよい。引数time-valueを指定すると、 それは現在時刻のかわりに書式付けする時刻を指定する。 引数は、最初の2つの要素が整数であるリストであること。 したがって、
current-time
(下記参照)やfile-attributes
(see File Attributes)で得た時刻を使える。(current-time-string) => "Wed Oct 14 22:21:05 1987"
この関数は、システムの時刻の値を 3つの整数のリスト
(
high low microsec)
で返す。 整数highとlowを組み合わせると 1970年1月1日0:00からの経過秒数を与える。 つまり、経過秒数は第3要素microsecは、現在の秒内のミリ秒を表す (返す時間精度が秒のシステムでは0)。
最初の2つの要素は、関数
file-attributes
で得られる ファイルに関する時刻の値と比較できる。 see File Attributes。
この関数は、ユーザーの地域の時刻帯を記述するリストを返す。
値は、
(
offset name)
の形である。 ここで、offsetはUTC 1 に対して進んでいる(グリニッジの東)秒数を 与える整数である。 第2要素nameは、その時刻帯の名称を与える文字列である。 夏時間制が始まったり終ると、どちらの要素も変わる。 時刻帯には季節の時刻調整はないとユーザーが指定すると、 どちらの値も定数である。値を計算するために必要な情報をオペレーティングシステムから得られないと リストのどちらの要素も
nil
である。引数time-valueを指定すると、 現在時刻のかわりに分析すべき時刻を指定する。 引数は、2つの整数を収めたコンスセルであるか、 最初の2つの要素が整数であるリストであること。 したがって、
current-time
(上記参照)やfile-attributes
(see File Attributes)で得た時刻を使える。