Unix/Linux Go Back    


RedHat 9 (Linux i386) - man page for parsedate (redhat section 3)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


PARSEDATE(3)									     PARSEDATE(3)

NAME
       parsedate - convert time and date string to number

SYNOPSIS
       #include <sys/types.h>

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

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

DESCRIPTION
       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 GetTimeInfo 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 [merid-
	      ian] [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 monthname [yy], and day, dd month-
	      name 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; accept-
	      able 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 specifi-
       cations	are  added.   Next, relative specifications are used.  If a date or day is speci-
       fied, 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.

       Parsedate ignores case when parsing all words; unknown words are taken to be unknown time-
       zones,  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.

BUGS
       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.

HISTORY
       Originally written by Steven M. Bellovin <smb@research.att.com> while at the University of
       North Carolina at Chapel Hill and distributed under the name getdate.

       A major overhaul was done by Rich $alz <rsalz@bbn.com> and Jim Berets <jberets@bbn.com> in
       August, 1990.

       It was further revised (primarily to remove obsolete constructs and timezone names) a year
       later  by  Rich (now <rsalz@osf.org>) for InterNetNews, and the name was changed.  This is
       revision 1.1.1.1, dated 1997/08/04.

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

										     PARSEDATE(3)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 09:46 AM.