convdate - Convert to/from RFC 5322 dates and seconds since epoch
convdate [
-dhl] [
-c |
-n |
-s] [
date
...]
convdate translates the date/time strings given on the command line,
outputting the results one to a line. The input can either be a date in
RFC 5322 format (accepting the variations on that format that
innd(8) is willing to accept), or the number of seconds since epoch (if
-c is given). The output is either
ctime(3) results, the number
of seconds since epoch, or a Usenet Date header field body, depending on the
options given.
If
date is not given,
convdate outputs the current date.
- -c
- Each argument is taken to be the number of seconds since
epoch (a time_t) rather than a date.
- -d
- Output a valid Usenet Date header field body instead of the
results of ctime(3) for each date given on the command line. This
is useful for testing the algorithm used to generate Date header field
bodies for local posts. Normally, the date will be in UTC, but see the
-l option.
- -h
- Print usage information and exit.
- -l
- Only makes sense in combination with -d. If given,
Date header field bodies generated will use the local time zone instead of
UTC.
- -n
- Rather than outputting the results of ctime(3) or a
Date header field body, output each date given as the number of seconds
since epoch (a time_t). This option doesn't make sense in combination with
-d.
- -s
- Pass each given date to the RFC 5322 date parser and
print the results of ctime(3) (or a Date header field body if
-d is given). This is the default behavior.
Most of these examples are taken, with modifications from the original man page
dating from 1991 and were run in the EST/EDT time zone.
% convdate '10 Feb 1991 10:00:00 -0500'
Sun Feb 10 10:00:00 1991
% convdate '13 Dec 91 12:00 EST' '04 May 1990 0:0:0'
Fri Dec 13 12:00:00 1991
Fri May 4 00:00:00 1990
% convdate -n '10 feb 1991 10:00' '4 May 90 12:00'
666198000
641880000
% convdate -c 666198000
Sun Feb 10 10:00:00 1991
ctime(3) results are in the local time zone. Compare to:
% convdate -dc 666198000
Sun, 10 Feb 1991 15:00:00 -0000 (UTC)
% env TZ=PST8PDT convdate -dlc 666198000
Sun, 10 Feb 1991 07:00:00 -0800 (PST)
% env TZ=EST5EDT convdate -dlc 666198000
Sun, 10 Feb 1991 10:00:00 -0500 (EST)
The system library functions generally use the environment variable TZ to
determine (or at least override) the local time zone.
Written by Rich $alz <
[email protected]>, rewritten and updated by Russ
Allbery <
[email protected]> for the
-d and
-l flags.
active.times(5).