diff options
Diffstat (limited to 'static/v10/man3/getdate.3')
| -rw-r--r-- | static/v10/man3/getdate.3 | 169 |
1 files changed, 169 insertions, 0 deletions
diff --git a/static/v10/man3/getdate.3 b/static/v10/man3/getdate.3 new file mode 100644 index 00000000..37d9a625 --- /dev/null +++ b/static/v10/man3/getdate.3 @@ -0,0 +1,169 @@ +.TH GETDATE 3 unc +.SH NAME +getdate \- convert time and date from ASCII +.SH SYNOPSIS +.B #include <sys/types.h> +.br +.B #include <sys/timeb.h> +.PP +.B time_t getdate(buf, now) +.br +.B char *buf; +.br +struct timeb *now; +.SH DESCRIPTION +.I Getdate +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 +.B NULL +is passed, +.IR ftime (2) +is used to obtain the current time and timezone. +.PP +The character string consists of 0 or more specifications of the following +form: +.TP .75i +tod +A +.I tod +is a time of day, which is of the form +.IR hh : mm [: ss ] +(or +.IR hhmm ) +.RI [ meridian ] +.RI [ zone ]. +If no meridian \- +.B am +or +.B pm +\- is specified, a 24-hour clock is used. A +.I tod +may be specified as just +.I hh +followed by a +.IR meridian. +.TP .75i +date +A +.I date +is a specific month and day, and possibly a year. Acceptable formats are +.IR mm/dd [ /yy ] +and +.IR "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 +.IR tod , +.IR monthname , +and +.I dd +have already been specified; otherwise, it will be treated as a +.IR tod . +This rule allows the output from +.IR date (1) +or +.IR ctime (3) +to be passed as input to +.IR getdate . +.TP .75i +day +A +.I day +of the week may be specified; the current day will be used if appropriate. +A +.I day +may be preceeded by a +.IR number, +indicating which instance of that day is desired; the default is +.BR 1 . +Negative +.I numbers +indicate times past. Some symbolic +.I numbers +are accepted: +.BR last , +.BR next , +and the ordinals +.B first +through +.B twelfth +.RB ( second +is ambiguous, and is not accepted as an ordinal number). +The symbolic number +.B next +is equivalent to +.BR 2 ; +thus, +.I "next monday" +refers not to the immediately coming Monday, but to the one a week later. +.TP .75i +relative time +Specifications relative to the current time are also accepted. +The format is +.RI [ number "] " unit ; +acceptable units are +.BR year , +.BR month , +.BR fortnight , +.BR week , +.BR day , +.BR hour , +.BR minute , +and +.BR second . +.PP +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. +.PP +.I 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 +.BR week s, +may be specified in the singular or plural. Timezone and meridian +values may be in upper or lower case, and with or without periods. +.SH FILES +/usr/lib/libu.a +.SH "SEE ALSO" +ctime(3), time(2) +.SH AUTHOR +Steven M. Bellovin (unc!smb) +.br +Dept. of Computer Science +.br +University of North Carolina at Chapel Hill +.SH BUGS +Because +.IR yacc (1) +is used to parse the date, +.I getdate +cannot be used a subroutine to any program that also needs +.IR yacc . +.br +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; +.I next week +is identical to +.IR "2 weeks" . +.br +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. +.br +Because +.IR localtime (2) +accepts an old-style time format without zone information, attempting +to pass +.I getdate +a current time containing a different zone will probably fail. |
