org-modeで日付を扱うメモ 2

org-modeでは以下の機能で簡単に日付を入力することができます。

C-c . (org-time-stamp)
C-c ! (org-time-stamp-inactive)

org-time-stampまたはorg-time-stamp-inactiveを実行するとミニバッファがアクティブになり、カレンダーがミニバッファの上に表示されます


ミニバッファではデフォルトで当日が表示されています。

先日のエントリのようにカレンダーを操作して日付を選択する以外に、当日との日付の差分をミニバッファに入力して日付を指定することができます。


例えば、本日(2012/02/29)にorg-time-stampを実行した場合、ミニバッファは以下のような表示になります

Date+time [2012-02-29]: => <2012-02-29 水>

=>の前にカーソルがあります


+を入力してEnterを押下した場合、バッファには1日後の2012-03-01が入力されます
-を入力してEnterを押下した場合、バッファには1日後の2012-02-28が入力されます

+2や-3を入力するとそれぞれ2日後、3日前を入力できます

デフォルトでは日単位ですが、wやmやyを後ろにつけると、それぞれ週単位、月単位、年単位で日付の差分を入力できます

+1wを入力してEnterを押下した場合、バッファには1週間後の2012-03-07が入力されます
+1mを入力してEnterを押下した場合、バッファには1ヶ月後の2012-03-29が入力されます
+1yを入力してEnterを押下した場合、バッファには1年後の2012-03-01が入力されます


+や-を付けない数字を入力した場合はorg-read-date-prefer-futureに設定された値によって挙動が変わります

org-read-date-prefer-futureがnon-nilの場合、未来の月の指定した数値の日付になります
nilの場合は当月の日付指定になります

TueやFriのような文字列を入力すると曜日指定になります。未来の最も近い指定した曜日の日付になります。

JanやFebで月を指定することができます。これはorg-read-date-prefer-futureの値によって翌年の月指定になったり、現在年の月指定になったりします