.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "CONVDATE 1" .TH CONVDATE 1 "2024-05-19" "INN 2.7.2" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" convdate \- Convert to/from RFC 5322 dates and seconds since epoch .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBconvdate\fR [\fB\-dhl\fR] [\fB\-c\fR | \fB\-n\fR | \fB\-s\fR] [\fIdate\fR ...] .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBconvdate\fR 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 \&\s-1RFC\s0\ 5322 format (accepting the variations on that format that \fBinnd\fR\|(8) is willing to accept), or the number of seconds since epoch (if \fB\-c\fR is given). The output is either \fBctime\fR\|(3) results, the number of seconds since epoch, or a Usenet Date header field body, depending on the options given. .PP If \fIdate\fR is not given, \fBconvdate\fR outputs the current date. .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-c\fR" 4 .IX Item "-c" Each argument is taken to be the number of seconds since epoch (a time_t) rather than a date. .IP "\fB\-d\fR" 4 .IX Item "-d" Output a valid Usenet Date header field body instead of the results of \&\fBctime\fR\|(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 \s-1UTC,\s0 but see the \fB\-l\fR option. .IP "\fB\-h\fR" 4 .IX Item "-h" Print usage information and exit. .IP "\fB\-l\fR" 4 .IX Item "-l" Only makes sense in combination with \fB\-d\fR. If given, Date header field bodies generated will use the local time zone instead of \s-1UTC.\s0 .IP "\fB\-n\fR" 4 .IX Item "-n" Rather than outputting the results of \fBctime\fR\|(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 \fB\-d\fR. .IP "\fB\-s\fR" 4 .IX Item "-s" Pass each given date to the \s-1RFC\s0\ 5322 date parser and print the results of \&\fBctime\fR\|(3) (or a Date header field body if \fB\-d\fR is given). This is the default behavior. .SH "EXAMPLES" .IX Header "EXAMPLES" Most of these examples are taken, with modifications from the original manual page dating from 1991 and were run in the \s-1EST/EDT\s0 time zone. .PP .Vb 2 \& % convdate \*(Aq10 Feb 1991 10:00:00 \-0500\*(Aq \& Sun Feb 10 10:00:00 1991 \& \& % convdate \*(Aq13 Dec 91 12:00 EST\*(Aq \*(Aq04 May 1990 0:0:0\*(Aq \& Fri Dec 13 12:00:00 1991 \& Fri May 4 00:00:00 1990 \& \& % convdate \-n \*(Aq10 feb 1991 10:00\*(Aq \*(Aq4 May 90 12:00\*(Aq \& 666198000 \& 641880000 \& \& % convdate \-c 666198000 \& Sun Feb 10 10:00:00 1991 .Ve .PP \&\fBctime\fR\|(3) results are in the local time zone. Compare to: .PP .Vb 2 \& % convdate \-dc 666198000 \& Sun, 10 Feb 1991 15:00:00 \-0000 (UTC) \& \& % env TZ=America/Los_Angeles convdate \-dlc 666198000 \& Sun, 10 Feb 1991 07:00:00 \-0800 (PST) \& \& % env TZ=America/New_York convdate \-dlc 666198000 \& Sun, 10 Feb 1991 10:00:00 \-0500 (EST) .Ve .PP The system library functions generally use the environment variable \s-1TZ\s0 to determine (or at least override) the local time zone. .SH "HISTORY" .IX Header "HISTORY" Written by Rich \f(CW$alz\fR , rewritten and updated by Russ Allbery for the \fB\-d\fR and \fB\-l\fR flags. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBactive.times\fR\|(5).