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, 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 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: headers 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: headers generated will use the local time zone instead of UTC.|
|-n||Rather than outputting the results of ctime(3) or a Date: header, 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 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.