Next: , Previous: User Identification, Up: System Interface


37.5 時刻

本節では、現在時刻と時刻帯(タイムゾーン)を調べる方法を説明します。

— Function: current-time-string &optional time-value

この関数は、人間向けの文字列で現在時刻と日付を返す。 文字列の書式は不変であり、各部分の文字数はつねに同じなので、 各部分を取り出すのにsubstringを使っても問題ない。 将来、文字列の末尾に追加情報を付加することもあるので、 文字列の末尾からではなく先頭から文字を数えるほうがよい。

引数time-valueを指定すると、 それは現在時刻のかわりに書式付けする時刻を指定する。 引数は、最初の2つの要素が整数であるリストであること。 したがって、current-time(下記参照)や file-attributes(see File Attributes)で得た時刻を使える。

          (current-time-string)
               ⇒ "Wed Oct 14 22:21:05 1987"
— Function: current-time

この関数は、システムの時刻の値を 3つの整数のリスト(high low microsec)で返す。 整数highlowを組み合わせると 1970年1月1日0:00からの経過秒数を与える。 つまり、経過秒数は

第3要素microsecは、現在の秒内のミリ秒を表す (返す時間精度が秒のシステムでは0)。

最初の2つの要素は、関数file-attributesで得られる ファイルに関する時刻の値と比較できる。 see File Attributes

— Function: current-time-zone &optional time-value

この関数は、ユーザーの地域の時刻帯を記述するリストを返す。

値は、(offset name)の形である。 ここで、offsetはUTC 1 に対して進んでいる(グリニッジの東)秒数を 与える整数である。 第2要素nameは、その時刻帯の名称を与える文字列である。 夏時間制が始まったり終ると、どちらの要素も変わる。 時刻帯には季節の時刻調整はないとユーザーが指定すると、 どちらの値も定数である。

値を計算するために必要な情報をオペレーティングシステムから得られないと リストのどちらの要素もnilである。

引数time-valueを指定すると、 現在時刻のかわりに分析すべき時刻を指定する。 引数は、2つの整数を収めたコンスセルであるか、 最初の2つの要素が整数であるリストであること。 したがって、current-time(上記参照)や file-attributes(see File Attributes)で得た時刻を使える。


Footnotes

[1] 【訳注】協定世界時。旧グリニッジ標準時に相当。