convdate(1) Convert to/from RFC 5322 dates and seconds since epoch

SYNOPSIS

convdate [-dhl] [-c | -n | -s] [date ...]

DESCRIPTION

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.

OPTIONS

-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.

EXAMPLES

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.

HISTORY

Written by Rich $alz <[email protected]>, rewritten and updated by Russ Allbery <[email protected]> for the -d and -l flags.

$Id: convdate.pod 9767 2014-12-07 21:13:43Z iulius $