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.