org: Timestamps
8.1 Timestamps, deadlines, and scheduling
=========================================
A timestamp is a specification of a date (possibly with a time or a
range of times) in a special format, either ‘<2003-09-16 Tue>’(1) or
‘<2003-09-16 Tue 09:39>’ or ‘<2003-09-16 Tue 12:00-12:30>’(2). A
timestamp can appear anywhere in the headline or body of an Org tree
entry. Its presence causes entries to be shown on specific dates in the
agenda (Weekly/daily agenda). We distinguish:
PLAIN TIMESTAMP; EVENT; APPOINTMENT
A simple timestamp just assigns a date/time to an item. This is
just like writing down an appointment or event in a paper agenda.
In the timeline and agenda displays, the headline of an entry
associated with a plain timestamp will be shown exactly on that
date.
* Meet Peter at the movies
<2006-11-01 Wed 19:15>
* Discussion on climate change
<2006-11-02 Thu 20:00-22:00>
TIMESTAMP WITH REPEATER INTERVAL
A timestamp may contain a _repeater interval_, indicating that it
applies not only on the given date, but again and again after a
certain interval of N days (d), weeks (w), months (m), or years
(y). The following will show up in the agenda every Wednesday:
* Pick up Sam at school
<2007-05-16 Wed 12:30 +1w>
DIARY-STYLE SEXP ENTRIES
For more complex date specifications, Org mode supports using the
special sexp diary entries implemented in the Emacs calendar/diary
package(3). For example with optional time
* 22:00-23:00 The nerd meeting on every 2nd Thursday of the month
<%%(diary-float t 4 2)>
TIME/DATE RANGE
Two timestamps connected by ‘--’ denote a range. The headline will
be shown on the first and last day of the range, and on any dates
that are displayed and fall in the range. Here is an example:
** Meeting in Amsterdam
<2004-08-23 Mon>--<2004-08-26 Thu>
INACTIVE TIMESTAMP
Just like a plain timestamp, but with square brackets instead of
angular ones. These timestamps are inactive in the sense that they
do _not_ trigger an entry to show up in the agenda.
* Gillian comes late for the fifth time
[2006-11-01 Wed]
---------- Footnotes ----------
(1) In this simplest form, the day name is optional when you type the
date yourself. However, any dates inserted or modified by Org will add
that day name, for reading convenience.
(2) This is inspired by the standard ISO 8601 date/time format. To
use an alternative format, see Custom time format.
(3) When working with the standard diary sexp functions, you need to
be very careful with the order of the arguments. That order depend
evilly on the variable ‘calendar-date-style’ (or, for older Emacs
versions, ‘european-calendar-style’). For example, to specify a date
December 12, 2005, the call might look like ‘(diary-date 12 1 2005)’ or
‘(diary-date 1 12 2005)’ or ‘(diary-date 2005 12 1)’, depending on the
settings. This has been the source of much confusion. Org mode users
can resort to special versions of these functions like ‘org-date’ or
‘org-anniversary’. These work just like the corresponding ‘diary-’
functions, but with stable ISO order of arguments (year, month, day)
wherever applicable, independent of the value of ‘calendar-date-style’.