* date.1: Update the example to next year. Remove duplication of spec
with strftime, as this is too much of a pain to maintain separately
for what is just a demo; but give an example for clarity. Update
list of files accessed, to match current code.
---
 date.1 | 110 +++++++++------------------------------------------------
 1 file changed, 16 insertions(+), 94 deletions(-)

diff --git a/date.1 b/date.1
index 01907bc7..9b025bc9 100644
--- a/date.1
+++ b/date.1
@@ -35,7 +35,7 @@ command
 without arguments writes the date and time to the standard output in
 the form
 .ce 1
-Wed Mar  8 14:54:40 EST 1989
+Sat Mar  8 14:54:40 EST 2025
 .br
 with
 .B EST
@@ -49,92 +49,17 @@ If a command-line argument starts with a plus sign (\c
 .q "\fB+\fP" ),
 the rest of the argument is used as a
 .I format
-that controls what appears in the output.
-In the format, when a percent sign (\c
-.q "\fB%\fP"
-appears,
-it and the character after it are not output,
-but rather identify part of the date or time
-to be output in a particular way
-(or identify a special character to output):
-.nf
-.sp
-.if t .in +.5i
-.if n .in +2
-.ta \w'%M\0\0'u +\w'Wed Mar  8 14:54:40 EST 1989\0\0'u
-       Sample output   Explanation
-%a     Wed     Abbreviated weekday name*
-%A     Wednesday       Full weekday name*
-%b     Mar     Abbreviated month name*
-%B     March   Full month name*
-%c     Wed Mar 08 14:54:40 1989        Date and time*
-%C     19      Century
-%d     08      Day of month (always two digits)
-%D     03/08/89        Month/day/year (eight characters)
-%e      8      Day of month (leading zero blanked)
-%h     Mar     Abbreviated month name*
-%H     14      24-hour-clock hour (two digits)
-%I     02      12-hour-clock hour (two digits)
-%j     067     Julian day number (three digits)
-%k      2      12-hour-clock hour (leading zero blanked)
-%l     14      24-hour-clock hour (leading zero blanked)
-%m     03      Month number (two digits)
-%M     54      Minute (two digits)
-%n     \\n     newline character
-%p     PM      AM/PM designation
-%r     02:54:40 PM     Hour:minute:second AM/PM designation
-%R     14:54   Hour:minute
-%S     40      Second (two digits)
-%t     \\t     tab character
-%T     14:54:40        Hour:minute:second
-%U     10      Sunday-based week number (two digits)
-%w     3       Day number (one digit, Sunday is 0)
-%W     10      Monday-based week number (two digits)
-%x     03/08/89        Date*
-%X     14:54:40        Time*
-%y     89      Last two digits of year
-%Y     1989    Year in full
-%z     -0500   Numeric time zone
-%Z     EST     Time zone abbreviation
-%+     Wed Mar  8 14:54:40 EST 1989    Default output format*
-.if t .in -.5i
-.if n .in -2
-* The exact output depends on the locale.
-.sp
-.fi
-If a character other than one of those shown above appears after
-a percent sign in the format,
-that following character is output.
-All other characters in the format are copied unchanged to the output;
-a newline character is always added at the end of the output.
-.PP
-In Sunday-based week numbering,
-the first Sunday of the year begins week 1;
-days preceding it are part of
-.q "week 0" .
-In Monday-based week numbering,
-the first Monday of the year begins week 1.
-.PP
-To set the date, use a command line argument with one of the following forms:
-.nf
-.if t .in +.5i
-.if n .in +2
-.ta \w'198903081454\0'u
-1454   24-hour-clock hours (first two digits) and minutes
-081454 Month day (first two digits), hours, and minutes
-03081454       Month (two digits, January is 01), month day, hours, minutes
-8903081454     Year, month, month day, hours, minutes
-0308145489     Month, month day, hours, minutes, year
-       (on System V-compatible systems)
-030814541989   Month, month day, hours, minutes, four-digit year
-198903081454   Four-digit year, month, month day, hours, minutes
-.if t .in -.5i
-.if n .in -2
-.fi
-If the century, year, month, or month day is not given,
-the current value is used.
-Any of the above forms may be followed by a period and two digits that give
-the seconds part of the new time; if no seconds are given, zero is assumed.
+that is processed by
+.BR strftime (3)
+to determine what to output;
+a newline character is appended.
+For example, the shell command:
+.ce 1
+date +"%Y\*-%m\*-%d %H:%M:%S %z"
+.br
+outputs a line like
+.q "2025\*-03\*-08 14:54:40 \*-0500"
+instead.
 .PP
 These options are available:
 .TP
@@ -149,16 +74,13 @@ past the epoch of 1970-01-01 00:00:00 UTC, where
 should be an integer, either decimal, octal (leading 0), or
 hexadecimal (leading 0x), preceded by an optional sign.
 .SH FILES
-.ta \w'/usr/share/zoneinfo/posixrules\0\0'u
+.ta \w'/usr/share/zoneinfo/Etc/UTC\0\0'u
 /etc/localtime local timezone file
 .br
 /usr/lib/locale/\f2L\fP/LC_TIME        description of time locale \f2L\fP
 .br
 /usr/share/zoneinfo    timezone directory
 .br
-/usr/share/zoneinfo/posixrules default DST rules (obsolete)
-.br
-/usr/share/zoneinfo/GMT        for UTC leap seconds
-.PP
-If /usr/share/zoneinfo/GMT is absent,
-UTC leap seconds are loaded from /usr/share/zoneinfo/GMT0 if present.
+/usr/share/zoneinfo/Etc/UTC    for UTC leap seconds
+.SH SEE ALSO
+.BR strftime (3).
-- 
2.47.1

Reply via email to