2001-12-31T23:59:59
- ISO 8601 format
A string is accepted as a valid time interval string if it conforms to the following grammar:
interval ::= date | date '/' date | 'P' duration '/' date | date '/' 'P' duration ; date ::= year ('-' month ('-' day ('T' hour (':' minute (':' second))))) | '$today' | '$now' ; duration ::= NUM unit | duration NUM unit ; unit ::= 'y' | 'm' | 'w' | 'd' | 'h' | 'M' | 'S' year, month, day, hour, minute, second ::= NUM
An incompletely specified date will be completed by including as much time as possible.
For example, if the start of a date range is specified by just a year, e.g.1999/2006
, it will be interpreted as starting at January 1st 1999, at zero hours zero minutes zero seconds. Similarly for the end of the range; 2006
will be interpreted as the last second of 2006.
If only one date is specified (e.g. the interval string is 1999
) it will be treated as if the same date were the start and the end i.e. 1999-1999
. Thus 1999
is interpreted as the whole of the year 1999.
You write | You mean |
---|---|
2003 |
the whole year 2003 |
2003-03-28T/2003-05-15 |
from March 28th to May 15th of the year 2003 |
P3w/$today |
three weeks before today |
2003-12-12 | 12th Dec 2003, from 0:00 to 23:59:59 |
2003 | any time in the year 2003 |
2003/P20w | the first 20 weeks of the year 2003 |
P20w/2003 | the last 20 weeks of the year 2003 |
$today | any second during the present day |
P2d/$today | today and yesterday |
P1d/$now | the last 24 hours |
$now/P50y | the next 50 years |
2003-12-12/14
means 12th Dec 2003 00:00 to 14th Dec 2003 23:59:59. However this shorthand is not supported by Foswiki and must be written as 2003-12-12/2003-12-14