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>’67 or ‘<2003-09-16 Tue 09:39>’ or ‘<2003-09-16 Tue 12:00-12:30>’68. 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 (see Weekly/daily agenda). We distinguish:
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>
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>
For more complex date specifications, Org mode supports using the special sexp diary entries implemented in the Emacs calendar/diary package69. For example with optional time
* 22:00-23:00 The nerd meeting on every 2nd Thursday of the month <%%(diary-float t 4 2)>
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>
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]
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.
This is inspired by the standard ISO 8601 date/time format. To use an alternative format, see Custom time format.
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
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-anniversary. These work just like the corresponding
functions, but with stable ISO order of arguments (year, month, day) wherever
applicable, independent of the value of