Unix/Linux Go Back    

BSD 2.11 - man page for getdate (bsd section 3)

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

GETDATE(3)									       GETDATE(3)

       getdate - convert time and date from ASCII

       #include <sys/types.h>
       #include <sys/timeb.h>

       time_t getdate(buf, now)
       char *buf;
       struct timeb *now;

       Getdate	is  a routine that converts most common time specifications to standard UNIX for-
       mat.  The first argument is the character string containing the time and date; the  second
       is  the	assumed  current  time	(used  for  relative  specifications); if NULL is passed,
       ftime(2) is used to obtain the current time and timezone.

       The character string consists of 0 or more specifications of the following form:

       tod    A tod is a time of day, which is	of  the  form  hh:mm[:ss]  (or	hhmm)  [meridian]
	      [zone].	If no meridian - am or pm - is specified, a 24-hour clock is used.  A tod
	      may be specified as just hh followed by a meridian.

       date   A date is a specific month and day, and possibly a year.	 Acceptable  formats  are
	      mm/dd[/yy]  and  monthname  dd[,	yy]  If omitted, the year defaults to the current
	      year; if a year is specified as a number less than 100, 1900 is added.  If a number
	      not  followed  by  a  day or relative time unit occurs, it will be interpreted as a
	      year if a tod, monthname, and dd have already been specified; otherwise, it will be
	      treated  as  a  tod.   This  rule  allows the output from date(1) or ctime(3) to be
	      passed as input to getdate.

       day    A day of the week may be specified; the current day will be used if appropriate.	A
	      day may be preceeded by a number, indicating which instance of that day is desired;
	      the default is 1.  Negative numbers indicate times past.	Some symbolic numbers are
	      accepted:  last, next, and the ordinals first through twelfth (second is ambiguous,
	      and is not accepted as an ordinal number).  The symbolic number next is  equivalent
	      to 2; thus, next monday refers not to the immediately coming Monday, but to the one
	      a week later.

       relative time
	      Specifications relative to the current time are also accepted.  The format is [num-
	      ber]  unit;  acceptable  units are year, month, fortnight, week, day, hour, minute,
	      and second.

       The actual date is formed as follows:  first, any absolute date and/or time  is	processed
       and  converted.	 Using that time as the base, day-of-week specifications are added; last,
       relative specifications are used.  If a date or day is specified, and no absolute or rela-
       tive  time  is given, midnight is used.	Finally, a correction is applied so that the cor-
       rect hour of the day is produced after allowing for daylight savings time differences.

       Getdate accepts most common abbreviations for days, months, etc.; in particular,  it  will
       recognize  them	with  upper  or  lower case first letter, and will recognize three-letter
       abbreviations for any of them, with or without a trailing period.  Units, such  as  weeks,
       may  be specified in the singular or plural.  Timezone and meridian values may be in upper
       or lower case, and with or without periods.


       ctime(3), time(2)

       Steven M. Bellovin (unc!smb)
       Dept. of Computer Science
       University of North Carolina at Chapel Hill

       Because yacc(1) is used to parse the date, getdate cannot be used a subroutine to any pro-
       gram that also needs yacc.
       The  grammar and scanner are rather primitive; certain desirable and unambiguous construc-
       tions are not accepted.	Worse yet, the meaning of some	legal  phrases	is  not  what  is
       expected; next week is identical to 2 weeks.
       The  daylight savings time correction is not perfect, and can get confused if handed times
       between midnight and 2:00 am on the days that the reckoning changes.
       Because localtime(2) accepts an old-style time format without zone information, attempting
       to pass getdate a current time containing a different zone will probably fail.

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

All times are GMT -4. The time now is 01:55 PM.