Convert string date/time string to seconds since epoch (1970-01-01T00:00:00Z).
$sDate - date/time string
Handles the following formats:
Default TWiki format
31 Dec 2001 - 23:59
TWiki format without time (defaults to 00:00)
31 Dec 2001
Date seperated by '/', '.' or '-', time with '.' or ':'
Date and time separated by ' ', '.' and/or '-'
2001/12/31 23:59:59
2001.12.31.23.59.59
2001/12/31 23:59
2001.12.31.23.59
2001-12-31 23:59
2001-12-31 - 23:59
ISO format
2001-12-31T23:59:59
ISO dates may have a timezone specifier, either Z or a signed difference
in hh:mm format. For example:
2001-12-31T23:59:59+01:00
2001-12-31T23:59Z
The default timezone is Z, unless $defaultLocal is true in which case
the local timezone will be assumed.
If the date format was not recognised, will return 0.
Convert string representing a time interval to a pair of integers
representing the amount of seconds since epoch for the start and end
extremes of the time interval.
$szInterval - time interval string
in yacc syntax, grammar and actions:
interval ::= date { $$.start = fillStart($1); $$.end = fillEnd($1); }
| date '/' date { $$.start = fillStart($1); $$.end = fillEnd($3); }
| 'P' duration '/' date { $$.start = fillEnd($4)-$2; $$.end = fillEnd($4); }
| date '/' 'P' duration { $$.start = fillStart($1); $$.end = fillStart($1)+$4; }
;
an interval may be followed by a timezone specification string (this is not supported yet).
duration has the form (regular expression):
date follows ISO8601 and must include hypens. (any amount of trailing
elements may be omitted and will be filled in differently on the
differents ends of the interval as to include the longest possible
interval):
2001-01-01T00:00:00
2001-12-31T23:59:59
timezone is optional. Default is local time.
If the format is not recognised, will return empty interval [0,0].
TODO: timezone
testing, especially on non valid strings