Convert dateString to an integer clock value (see clock seconds).
This command can parse and convert virtually any standard date and/or time
string, which can include standard time zone mnemonics. If only a time is
specified, the current date is assumed. If the string does not contain a
time zone mnemonic, the local time zone is assumed, unless the -gmt
argument is true, in which case the clock value is calculated assuming
that the specified time is relative to Greenwich Mean Time.
If the -base flag is specified, the next argument should contain
an integer clock value. Only the date in this value is used, not the
time. This is useful for determining the time on a specific day or
doing other date-relative conversions.
The dateString consists of zero or more specifications of the
following form:
- time
-
A time of day, which is of the form: hh?:mm?:ss??
?meridian? ?zone? or hhmm ?meridian?
?zone?. If no meridian is specified, hh is interpreted on
a 24-hour clock.
- date
-
A specific month and day with optional year. The
acceptable formats are mm/dd?/yy?, monthname dd
?, yy?, dd monthname ?yy? and day, dd monthname
yy. The default year is the current year. If the year is less
then 100, then 1900 is added to it.
- relative time
-
A specification relative to the current time. The format is number
unit acceptable units are year, fortnight, month, week, day,
hour, minute (or min), and second (or sec). The
unit can be specified as a singular or plural, as in 3 weeks.
These modifiers may also be specified:
tomorrow, yesterday, today, now,
last, this, next, ago.
The actual date is calculated according to the following steps.
First, any absolute date and/or time is processed and converted.
Using that time as the base, day-of-week specifications are added.
Next, relative specifications are used. If a date or day is
specified, and no absolute or relative time is given, midnight is
used. Finally, a correction is applied so that the correct hour of
the day is produced after allowing for daylight savings time
differences.