parsedate man page on 4.4BSD

Man page or keyword search:  
man Server   1065 pages
apropos Keyword Search (all sections)
Output format
4.4BSD logo
[printable version]


       parsedate - convert time and date string to number

       #include <sys/types.h>

       typedef struct _TIMEINFO {
	   time_t	    time;
	   long		    usec;
	   long		    tzone;
       } TIMEINFO;

       parsedate(text, now)
	   char		    *text;
	   TIMEINFO	    *now;

       Parsedate  converts  many common time specifications into the number of
       seconds since the epoch — i.e., a time_t; see time(2).

       Parsedate returns the time, or -1 on error.  Text is a character string
       containing the time and date.  Now is a pointer to the time that should
       be used for calculating relative dates.	If now is NULL, then  GetTime‐
       Info in libinn(3) is used to obtain the current time and timezone.

       The  character  string  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], yyyy/mm/dd, monthname dd[, yy], dd mon‐
	      thname [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; if it is less then 21, then 2000 is added to it.

       relative time
	      A specification relative to the current  time.   The  format  is
	      number  unit; acceptable units are year, 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.

       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	 abso‐
       lute  or	 relative time is given, midnight is used.  Finally, a correc‐
       tion is applied so that the correct hour of the day is  produced	 after
       allowing for daylight savings time differences.

       Parsedate  ignores case when parsing all words; unknown words are taken
       to be unknown timezones, which are treated as GMT.  The	names  of  the
       months  and  days  of  the week can be abbreviated to their first three
       letters, with optional trailing period.	Periods	 are  ignored  in  any
       timezone or meridian values.

       Parsedate  does not accept all desirable and unambiguous constructions.
       Semantically incorrect dates such as ``February 31'' are accepted.

       Daylight savings time is always taken as a  one-hour  change  which  is
       wrong  for  some	 places.  The daylight savings time correction can get
       confused if parsing a  time  within  an	hour  of  when	the  reckoning
       changes, or if given a partial date.

       Originally  written  by Steven M. Bellovin <> while
       at the University of North Carolina  at	Chapel	Hill  and  distributed
       under the name getdate.

       A  major	 overhaul was done by Rich $alz <> and Jim Berets
       <> in August, 1990.

       It was further revised (primarily to  remove  obsolete  constructs  and
       timezone	 names)	 a year later by Rich (now <>) for Inter‐
       NetNews, and the name  was  changed.   This  is	revision  1.10,	 dated

       date(1), ctime(3), libinn(3), time(2).


List of man pages available for 4.4BSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net