特別なカレンダーコマンドにより、任意の日付にたいする日の出(sunrise)と日の入り(sunset)の時刻を、1、2分の範囲で調べることができます。
選択された日付の、日の出と日の入りの時刻を表示します(calendar-sunrise-sunset
)。
今日の日の出と日の入りの時刻を表示します。
指定した日付の日の出と日の入りの時刻を表示します。
選択された月の日の出と日の入りの時刻を表示します。
カレンダーからは、見たい日付にポイントを移動してS
(calendar-sunrise-sunset
)をタイプすると、エコーエリアに日の出と日の入りの時刻を、地方時間で表示します。日付をmouse-3でクリックし、表示されたメニューの‘Sunrise/sunset’を選択しても表示することができます。今日、または指定した日付にたいしてこの情報を表示するために、カレンダーの外からでも、コマンドM-x
sunrise-sunsetが利用可能です。今日以外の日付を指定するには、年、月、日の入力を求めるC-u M-x
sunrise-sunsetを使用してください。
C-u C-u M-x sunrise-sunsetにより、任意の地域の任意の日付にたいして、日の出と日の入りの時刻を表示できます。これは経度(longitude)、緯度(latitude)、調整済みグリニッジ平均時(Coordinated Universal Time)との分差、日付の入力を求め、その地域の、その日付の日の出と日の入りの時刻を表示します。
日の出と日の入りの時刻は地球上の位置に依存するので、これらのコマンドを使用する前に、Emacsに経度(latitude)、緯度(longitude)、地域名(location name)を指定する必要があります。以下は何をセットするかの例です:
(setq calendar-latitude 40.1) (setq calendar-longitude -88.2) (setq calendar-location-name "Urbana, IL")
calendar-latitude
とcalendar-longitude
には、小数点以下1位までの数値を使用します。
タイムゾーン(time zone)も、地方時間での日の入りと日の出の時刻に影響を与えます。Emacsは通常、タイムゾーンの情報をオペレーティングシステムから得ますが、その情報が間違っている場合(またはオペレーティングシステムがその情報を提供しない場合)、これらを自分でセットしなければなりません。以下は例です:
(setq calendar-time-zone -360) (setq calendar-standard-time-zone-name "CST") (setq calendar-daylight-time-zone-name "CDT")
calendar-time-zone
の値は地方標準時(local standard
time)と、調整済みグリニッジ平均時(Coordinated Universal Time)、いわゆるグリニッジ標準時(Greenwich time:
GMT)との分差です。calendar-standard-time-zone-name
とcalendar-daylight-time-zone-name
の値は、あなたのタイムゾーンで使用される略語です。Emacsは、サマータイム(daylight
saving time)で調整済みの、日の出と日の入りの時刻を表示します。サマータイムが決定される方法については、サマータイムを参照してください。
(‘"+0100"’のような)数値的タイムゾーンを表示したければ、変数calendar-time-zone-style
を(‘"CET"’のような)シンボルでなくnumeric
にセットしてください。
ユーザーとしては.emacsで、普段いる場所をカレンダーの位置変数にセットすると便利だと思うかもしれません。システム管理者としては、default.elで、すべてのユーザーにたいして、これらの変数をセットしたいと思うかもしれません。Emacs初期化ファイルを参照してください。