Next: , Previous: Holidays, Up: Calendar/Diary


27.7 日出入時刻

カレンダーの特別なコマンドで、 任意の日付の日出入時刻を2分以内の精度で調べられます。

S
選択した日付の日出入時刻を表示する (calendar-sunrise-sunset)。
Mouse-2 Sunrise/Sunset
クリックした日付の日出入時刻を表示する。
M-x sunrise-sunset
今日の日出入時刻を表示する。
C-u M-x sunrise-sunset
指定した日付の日出入時刻を表示する

カレンダー内で地方時(local times)で日出入時刻を表示するには、 目的の日付にポイントを移動してからSと打ちます。 あるいは、目的の日付をMouse-2でクリックすると メニューが立ち上がるのでその中からSunrise/Sunsetを選びます。 カレンダーの外からでも、 今日や指定した日付の日出入時刻を M-x sunrise-sunsetコマンドで調べられます。 今日以外の日付を指定するには、 C-u M-x sunrise-sunsetコマンドを使います。 すると、年月日を聞いてきます。

C-u C-u M-x sunrise-sunsetで、 任意の場所の任意の日付の日出入時刻を表示できます。 経度、緯度、協定世界時1 からの分単位のずれ、日付の指定を聞いてきます。 すると、その場所でのその日付の日出入時刻が表示されます。

日出入時刻は、地球上の場所に依存しますので、 これらのコマンドを使うまえにEmacsに現在いる場所の緯度/経度と土地の名前を 教えなければなりません。 これにはつぎのようにします。

     (setq calendar-latitude 40.1)
     (setq calendar-longitude -88.2)
     (setq calendar-location-name "Urbana, IL")

変数calendar-latitudecalendar-longitudeの値には、 小数点以下1桁まで指定します。

タイムゾーンは、地方時で表した日出入時刻に影響します。 通常、Emacsはオペレーティングシステムからタイムゾーンを取得しますが、 それがまちがっている場合(あるいは、オペレーティングシステムが その情報を与えない場合)には、自分で設定する必要があります。 つぎは設定例です。

     (setq calendar-time-zone -360)
     (setq calendar-standard-time-zone-name "CST")
     (setq calendar-daylight-time-zone-name "CDT")

calendar-time-zoneの値は、協定世界時(グリニッジ標準時)と 地方標準時との差を分単位で表したものです。 calendar-standard-time-zone-namecalendar-daylight-time-zone-nameは、 現在いる場所のタイムゾーンの省略名称です。 Emacsは夏時間を補正して日出入時刻を表示します。 夏時間をどのように決定するかは、 See Daylight Savings

ユーザーとしては、個人の.emacsファイルで カレンダーの位置関連の変数に普段いる場所の値を設定すると便利でしょう。 あるいは、Emacsをマシンにインストールするときに、 そのマシンの大部分のユーザー用に典型的な場所に関する 情報をdefault.elファイルに設定してもかまいません。 See Init File


Footnotes

[1] 【訳注】 グリニッジ標準時と呼称していたものに相当。