前: 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(分)です。