Query: getdate
OS: bsd
Section: 3
Links: bsd man pages all man pages
Forums: forum home forum categories
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
GETDATE(3) Library Functions Manual GETDATE(3)NAMEgetdate - convert time and date from ASCIISYNOPSIS#include <sys/types.h> #include <sys/timeb.h> time_t getdate(buf, now) char *buf; struct timeb *now;DESCRIPTIONGetdate is a routine that converts most common time specifications to standard UNIX format. 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; other- wise, 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 [number] unit; acceptable units are year, month, fort- night, 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 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. Getdate accepts most common abbreviations for days, months, etc.; in particular, it will recognize them with upper or lower case first let- ter, and will recognize three-letter abbreviations for any of them, with or without a trailing period. Units, such as weeks, may be speci- fied in the singular or plural. Timezone and meridian values may be in upper or lower case, and with or without periods.FILES/usr/lib/libu.aSEE ALSOctime(3), time(2)AUTHORSteven M. Bellovin (unc!smb) Dept. of Computer Science University of North Carolina at Chapel HillBUGSBecause yacc(1) is used to parse the date, getdate cannot be used a subroutine to any program that also needs yacc. The grammar and scanner are rather primitive; certain desirable and unambiguous constructions 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 dif- ferent zone will probably fail. unc GETDATE(3)