GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/emacs/Sunrise_002fSunset.html ・ emacs-doc.conao3.com

33.7 日の出・日の入りの時刻

特別なカレンダーコマンドを使えば、任意の日付の日の出・日の入り時刻を1〜2分の誤差で知ることができます。

mouse-3 Sunrise/sunset
S

選択した日付(calendar-sunrise-sunset)の日の出・日の入り時刻を表示します。

M-x sunrise-sunset

本日の日の出・日の入り時刻を表示します。

C-u M-x sunrise-sunset

指定した日付の日の出・日の入り時刻を表示します。

M-x calendar-sunrise-sunset-month

選択した月の日の出・日の入り時刻を表示します。

カレンダー内で、エコー領域に日の出・日の入りの現地時刻を表示するには、目的の日付にポイントを移動し、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 を使えば、任意の場所と日付における日の出・日の入り時刻を表示できます。このコマンドでは、経度、緯度、協定世界時との分単位の時差、および日付の入力を求められ、その後、その場所における該当日の日の出・日の入り時刻を教えてくれます。

日の出・日の入りの時刻は地球上の場所によって異なるため、これらのコマンドを使用する前に、Emacsに緯度、経度、および地名を指定する必要があります。設定例を以下に示します。

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

calendar-latitude と calendar-longitude の値は、小数第1位まで求めてください。

タイムゾーンは、日の出・日の入りの現地時刻にも影響します。Emacsは通常、オペレーティングシステムからタイムゾーン情報を取得しますが、これらの値が希望通りでない場合(あるいはオペレーティングシステムが情報を提供していない場合)は、自身で設定する必要があります。以下に例を示します。

(setq calendar-time-zone (* 12 60))
(setq calendar-standard-time-zone-name "NZST")
(setq calendar-daylight-time-zone-name "NZDT")

calendar-time-zone の値は、ローカル標準時と協定世界時(通称「グリニッジ時」)との分単位の差です。calendar-standard-time-zone-name と calendar-daylight-time-zone-name の値は、お使いのタイムゾーンで使用される略称です。Emacs は、日の出・日の入り時刻を夏時間補正済みで表示します。夏時間の決定方法については、夏時間を参照してください。

記号形式のタイムゾーン(‘"CET"’など)ではなく、数値形式のタイムゾーン(‘"+0100"’など)を表示したい場合は、変数 calendar-time-zone-style に numeric を設定してください。

ユーザーの方は、普段利用している物理的な場所に合わせてカレンダーの位置情報変数を .emacs ファイルで設定しておくと便利かもしれません。システム管理者の方は、default.el ファイルで全ユーザー向けにこれらの変数を設定したい場合があるでしょう。Emacs初期化ファイルを参照してください。