time_t
parsedate(const char *datestr, const time_t *time, const int *tzoff)
NULL,
then the current time and timezone offset are used.
The datestr is a sequence of white-space separated items. The white-space is optional the concatenated items are not ambiguous. An empty datestr is equivalent to midnight today (the beginning of this day).
The following words have the indicated numeric meanings:
last =
-1,
this =
0,
first or next
1,
second
is unused so that it is not confused with
``seconds'',
third =
3,
fourth =
4,
fifth =
5,
sixth =
6,
seventh =
7,
eighth =
8,
ninth =
9,
tenth =
10,
eleventh =
11,
twelfth =
12.
The following words are recognized in English only:
AM,
PM,
a.m.,
p.m.
The months:
january,
february,
march,
april,
may,
june,
july,
august,
september,
sept,
october,
november,
december,
The days of the week:
sunday,
monday,
tuesday,
tues,
wednesday,
wednes,
thursday,
thur,
thurs,
friday,
saturday.
Time units:
year,
month,
fortnight,
week,
day,
hour,
minute,
min,
second,
sec,
tomorrow,
yesterday.
Timezone names:
gmt,
ut,
utc,
wet,
bst,
wat,
at,
ast,
adt,
est,
edt,
cst,
cdt,
mst,
mdt,
pst,
pdt,
yst,
ydt,
hst,
hdt,
cat,
ahst,
nt,
idlw,
cet,
met,
mewt,
mest,
swt,
sst,
fwt,
fst,
eet,
bt,
zp4,
zp5,
zp6,
wast,
wadt,
cct,
jst,
east,
eadt,
gst,
nzt,
nzst,
nzdt,
idle.
A variety of unambiguous dates are recognized:
As well as times:
Relative items are also supported:
)
returns the number of seconds passed since the Epoch, or
-1
if the date could not be parsed properly.
)
was originally written by Steven M. Bellovin while at the University
of North Carolina at Chapel Hill.
It was later tweaked by a couple of people on Usenet.
Completely overhauled by Rich $alz and Jim Berets in August, 1990.
The
parsedate()
function first appeared in
NetBSD4.0.