Provided by: inn2_2.7.2~20230806-1_amd64 bug

NAME

       convdate - 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 field body, 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 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.

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 <rsalz@uunet.uu.net>, rewritten and updated by Russ Allbery
       <eagle@eyrie.org> for the -d and -l flags.

SEE ALSO

       active.times(5).