parsedate(3)
- NetBSD Manual Pages
PARSEDATE(3) NetBSD Library Functions Manual PARSEDATE(3)
NAME
parsedate -- date parsing function
LIBRARY
System Utilities Library (libutil, -lutil)
SYNOPSIS
#include <util.h>
time_t
parsedate(const char *datestr, const time_t *time, const int *tzoff);
DESCRIPTION
The parsedate function parses a datetime from datestr described in
english relative to an optional time point and an optional timezone off-
set in seconds specified in tzoff. If either time or tzoff are 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:
69-09-10 For years between 69-99 we assume 1900+ and for years
between 0-68 we assume 2000+.
2006-11-17 An ISO-8601 date.
10/1/2000 October 10, 2000; the common US format.
20 Jun 1994
23jun2001
1-sep-06 Other common abbreviations.
1/11 the year can be omitted
As well as times:
10:01
10:12pm
12:11:01.000012
12:21-0500
Relative items are also supported:
-1 month
last friday
one week ago
this thursday
next sunday
+2 years
Seconds since epoch (also known as UNIX time) are also supported:
@735275209 Tue Apr 20 03:06:49 UTC 1993
RETURN VALUES
parsedate() returns the number of seconds passed since the Epoch, or -1
if the date could not be parsed properly.
SEE ALSO
date(1), eeprom(8)
BUGS
The parsedate function is not re-entrant or thread-safe.
HISTORY
The parser used in parsedate() 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 NetBSD 4.0.
NetBSD 5.2 Aug 28, 2010 NetBSD 5.2
Powered by man-cgi (2024-03-20).
Maintained for NetBSD
by Kimmo Suominen.
Based on man-cgi by Panagiotis Christias.