前: Appointments, 上: Calendar/Diary
Emacsは標準時と夏時間の違いを理解していて、 日出入、夏至、冬至、春分、秋分、朔弦望の時刻ではこれを補正しています。 夏時間の規則は、地域によっても、また、歴史的にもさまざまです。 補正を正しく行うには、使用する規則をEmacsに与えておく必要があります。
オペレーティングシステムのなかには、
その設置場所で適用する規則を記録しているものもあります。
このようなシステムでは、Emacsは自動的に必要な情報をシステムから取得します。
情報の一部や全部が欠けている場合には、現在マサチューセッツ州ケンブリッジで
使われている規則でEmacsは欠落部分を補おうとします。
その結果が正しくないならば、
変数calendar-daylight-savings-starts
と
calendar-daylight-savings-ends
を設定し、
規則をEmacsに与える必要があります。
これらの変数の値は、変数year
を参照するLisp式である必要があり、
評価すると、グレゴリオ暦での夏時間の開始日や終了日を表す
(
month day year)
という形のリストになる必要があります。
在住地方で夏時間を採用していない場合には、
これらの値はnil
にしておきます。
Emacsはこれらの式を用いて夏時間の開始日を決定し、 祝祭日一覧や太陽や月に関する計算の時刻補正に使います。
マサチューセッツ州ケンブリッジの値は以下のとおりです。
(calendar-nth-named-day 1 0 4 year) (calendar-nth-named-day -1 0 10 year)
year
で指定される年の4月の最初の日曜日(0番目)から始まり、
その年の10月の最後の月曜まで続くことを表します。
夏時間の開始日が10月1日に変更されたならば、
変数calendar-daylight-savings-starts
には以下のように設定します。
(list 10 1 year)
読者の地方で夏時間を採用していなかったり、
すべての時刻を標準時で扱いたい場合には、
変数calendar-daylight-savings-starts
と
変数calendar-daylight-savings-ends
にはnil
を設定してください。
変数calendar-daylight-time-offset
は、
夏時間と標準時の差を分単位で指定します。
マサチューセッツ州ケンブリッジでは60(分)です。
2つの変数calendar-daylight-savings-starts-time
と
変数calendar-daylight-savings-ends-time
は、
夏時間の開始/終了が地方時の真夜中の0時から何分ずれるかを指定します。
マサチューセッツ州ケンブリッジではどちらも120(分)です。