When Org mode prompts for a date/time, the default is shown as an ISO date, and the prompt therefore seems to ask for an ISO date. But it will in fact accept any string containing some date and/or time information, and it is really smart about interpreting your input. You can, for example, use C-y to paste a (possibly multi-line) string copied from an email message. Org mode will find whatever information is in there and derive anything you have not specified from the default date and time. The default is usually the current date and time, but when modifying an existing time stamp, or when entering the second stamp of a range, it is taken from the stamp in the buffer. When filling in information, Org mode assumes that most of the time you will want to enter a date in the future: If you omit the month/year and the given day/month is before today, it will assume that you mean a future date1.
For example, lets assume that today is June 13, 2006. Here is how various inputs will be interpreted, the items filled in by Org mode are in bold.
3-2-5 --> 2003-02-05
14 --> 2006-06-14
12 --> 2006-07-12
Fri --> nearest Friday (defaultdate or later)
sep 15 --> 2006-11-15
feb 15 --> 2007-02-15
sep 12 9 --> 2009-09-12
12:45 --> 2006-06-13 12:45
22 sept 0:34 --> 2006-09-22 0:34
w4 --> ISO week for of the current year 2006
2012 w4 fri --> Friday of ISO week 4 in 2012
2012-w04-5 --> Same as above
Furthermore you can specify a relative date by giving, as the first thing in the input: a plus/minus sign, a number and a letter [dwmy] to indicate change in days weeks, months, years. With a single plus or minus, the date is always relative to today. With a double plus or minus, it is relative to the default date. If instead of a single letter, you use the abbreviation of day name, the date will be the nth such day. E.g.
+0 --> today
. --> today
+4d --> four days from today
+4 --> same as above
+2w --> two weeks from today
++5 --> five days from default date
+2tue --> second tuesday from now.
The function understands English month and weekday abbreviations. If
you want to use unabbreviated names and/or other languages, configure
the variables parse-time-months and parse-time-weekdays.
Parallel to the minibuffer prompt, a calendar is popped up2. When you exit the date prompt, either by clicking on a date in the calendar, or by pressing <RET>, the date selected in the calendar will be combined with the information entered at the prompt. You can control the calendar fully from the minibuffer:
> / < Scroll calendar forward/backward by one month. mouse-1 Select date by clicking on it. S-<right>/<left> One day forward/backward. S-<down>/<up> One week forward/backward. M-S-<right>/<left> One month forward/backward. <RET> Choose date in calendar.
The actions of the date/time prompt may seem complex, but I assure you they will grow on you, and you will start getting annoyed by pretty much any other way of entering a date/time out there. To help you understand what is going on, the current interpretation of your input will be displayed live in the minibuffer3.