262 lines
7.7 KiB
Diff
262 lines
7.7 KiB
Diff
|
|
From 6e2e87703135d4923e9d65b4d75086341564401f Mon Sep 17 00:00:00 2001
|
|||
|
|
From: Paul Eggert <eggert@cs.ucla.edu>
|
|||
|
|
Date: Sat, 8 Aug 2020 11:08:24 -0700
|
|||
|
|
Subject: [PATCH 23/47] Minor editorial improvements for newstrftime.3
|
|||
|
|
MIME-Version: 1.0
|
|||
|
|
Content-Type: text/plain; charset=UTF-8
|
|||
|
|
Content-Transfer-Encoding: 8bit
|
|||
|
|
|
|||
|
|
* newstrftime.3: Improve this a bit to have it match POSIX better.
|
|||
|
|
Resurrect the BSD manual’s phase-of-the-moon joke.
|
|||
|
|
---
|
|||
|
|
newstrftime.3 | 103 +++++++++++++++++++++++++++++++++++++---------------------
|
|||
|
|
1 file changed, 66 insertions(+), 37 deletions(-)
|
|||
|
|
|
|||
|
|
diff --git a/newstrftime.3 b/newstrftime.3
|
|||
|
|
index df38d1a..63842c7 100644
|
|||
|
|
--- a/newstrftime.3
|
|||
|
|
+++ b/newstrftime.3
|
|||
|
|
@@ -50,12 +50,14 @@ strftime \- format date and time
|
|||
|
|
.B cc ... \-ltz
|
|||
|
|
.fi
|
|||
|
|
.SH DESCRIPTION
|
|||
|
|
-.ie '\(en'' .ds en \-
|
|||
|
|
-.el .ds en \(en
|
|||
|
|
.ie '\(lq'' .ds lq \&"\"
|
|||
|
|
.el .ds lq \(lq\"
|
|||
|
|
.ie '\(rq'' .ds rq \&"\"
|
|||
|
|
.el .ds rq \(rq\"
|
|||
|
|
+.de c
|
|||
|
|
+.ie \n(.g \f(CW\\$1\fP\\$2
|
|||
|
|
+.el \\$1\\$2
|
|||
|
|
+..
|
|||
|
|
.de q
|
|||
|
|
\\$3\*(lq\\$1\*(rq\\$2
|
|||
|
|
..
|
|||
|
|
@@ -63,7 +65,7 @@ The
|
|||
|
|
.B strftime
|
|||
|
|
function formats the information from
|
|||
|
|
.I timeptr
|
|||
|
|
-into the buffer
|
|||
|
|
+into the array pointed to by
|
|||
|
|
.I buf
|
|||
|
|
according to the string pointed to by
|
|||
|
|
.IR format .
|
|||
|
|
@@ -72,24 +74,24 @@ The
|
|||
|
|
.I format
|
|||
|
|
string consists of zero or more conversion specifications and
|
|||
|
|
ordinary characters.
|
|||
|
|
-All ordinary characters are copied directly into the buffer.
|
|||
|
|
+All ordinary characters are copied directly into the array.
|
|||
|
|
A conversion specification consists of a percent sign
|
|||
|
|
.Ql %
|
|||
|
|
and one other character.
|
|||
|
|
.PP
|
|||
|
|
No more than
|
|||
|
|
.I maxsize
|
|||
|
|
-characters are placed into the array.
|
|||
|
|
-If the total number of resulting characters, including the terminating
|
|||
|
|
-null character, is not more than
|
|||
|
|
+bytes are placed into the array.
|
|||
|
|
+If the total number of resulting bytes, including the terminating
|
|||
|
|
+NUL character, is not more than
|
|||
|
|
.IR maxsize ,
|
|||
|
|
.B strftime
|
|||
|
|
-returns the number of characters in the array, not counting the
|
|||
|
|
-terminating null.
|
|||
|
|
-Otherwise, zero is returned.
|
|||
|
|
+returns the number of bytes placed into the array, not counting the
|
|||
|
|
+terminating NUL.
|
|||
|
|
+Otherwise, zero is returned and the array contents are unspecified.
|
|||
|
|
.PP
|
|||
|
|
Each conversion specification is replaced by the characters as
|
|||
|
|
-follows which are then copied into the buffer.
|
|||
|
|
+follows which are then copied into the array.
|
|||
|
|
.TP
|
|||
|
|
%A
|
|||
|
|
is replaced by the locale's full weekday name.
|
|||
|
|
@@ -105,99 +107,122 @@ is replaced by the locale's abbreviated month name.
|
|||
|
|
.TP
|
|||
|
|
%C
|
|||
|
|
is replaced by the century (a year divided by 100 and truncated to an integer)
|
|||
|
|
-as a decimal number (00\*(en99).
|
|||
|
|
+as a decimal number [00,99].
|
|||
|
|
.TP
|
|||
|
|
%c
|
|||
|
|
is replaced by the locale's appropriate date and time representation.
|
|||
|
|
.TP
|
|||
|
|
%D
|
|||
|
|
-is replaced by the date in the format %m/%d/%y.
|
|||
|
|
+is equivalent to
|
|||
|
|
+.c %m/%d/%y .
|
|||
|
|
.TP
|
|||
|
|
%d
|
|||
|
|
-is replaced by the day of the month as a decimal number (01\*(en31).
|
|||
|
|
+is replaced by the day of the month as a decimal number [01,31].
|
|||
|
|
.TP
|
|||
|
|
%e
|
|||
|
|
-is replaced by the day of month as a decimal number (1\*(en31);
|
|||
|
|
+is replaced by the day of month as a decimal number [1,31];
|
|||
|
|
single digits are preceded by a blank.
|
|||
|
|
.TP
|
|||
|
|
%F
|
|||
|
|
-is replaced by the date in the format %Y\*-%m\*-%d.
|
|||
|
|
+is equivalent to
|
|||
|
|
+.c %Y-%m-%d
|
|||
|
|
+(the ISO 8601 date format).
|
|||
|
|
.TP
|
|||
|
|
%G
|
|||
|
|
is replaced by the ISO 8601 year with century as a decimal number.
|
|||
|
|
+See also the
|
|||
|
|
+.c %V
|
|||
|
|
+conversion specification.
|
|||
|
|
.TP
|
|||
|
|
%g
|
|||
|
|
-is replaced by the ISO 8601 year without century as a decimal number (00\*(en99).
|
|||
|
|
+is replaced by the ISO 8601 year without century as a decimal number [00,99].
|
|||
|
|
+This is the year that includes the greater part of the week.
|
|||
|
|
+(Monday as the first day of a week).
|
|||
|
|
+See also the
|
|||
|
|
+.c %V
|
|||
|
|
+conversion specification.
|
|||
|
|
.TP
|
|||
|
|
%H
|
|||
|
|
-is replaced by the hour (24-hour clock) as a decimal number (00\*(en23).
|
|||
|
|
+is replaced by the hour (24-hour clock) as a decimal number [00,23].
|
|||
|
|
.TP
|
|||
|
|
%I
|
|||
|
|
-is replaced by the hour (12-hour clock) as a decimal number (01\*(en12).
|
|||
|
|
+is replaced by the hour (12-hour clock) as a decimal number [01,12].
|
|||
|
|
.TP
|
|||
|
|
%j
|
|||
|
|
-is replaced by the day of the year as a decimal number (001\*(en366).
|
|||
|
|
+is replaced by the day of the year as a decimal number [001,366].
|
|||
|
|
.TP
|
|||
|
|
%k
|
|||
|
|
-is replaced by the hour (24-hour clock) as a decimal number (0\*(en23);
|
|||
|
|
+is replaced by the hour (24-hour clock) as a decimal number [0,23];
|
|||
|
|
single digits are preceded by a blank.
|
|||
|
|
.TP
|
|||
|
|
%l
|
|||
|
|
-is replaced by the hour (12-hour clock) as a decimal number (1\*(en12);
|
|||
|
|
+is replaced by the hour (12-hour clock) as a decimal number [1,12];
|
|||
|
|
single digits are preceded by a blank.
|
|||
|
|
.TP
|
|||
|
|
%M
|
|||
|
|
-is replaced by the minute as a decimal number (00\*(en59).
|
|||
|
|
+is replaced by the minute as a decimal number [00,59].
|
|||
|
|
.TP
|
|||
|
|
%m
|
|||
|
|
-is replaced by the month as a decimal number (01\*(en12).
|
|||
|
|
+is replaced by the month as a decimal number [01,12].
|
|||
|
|
.TP
|
|||
|
|
%n
|
|||
|
|
is replaced by a newline.
|
|||
|
|
.TP
|
|||
|
|
%p
|
|||
|
|
-is replaced by the locale's equivalent of either AM or PM.
|
|||
|
|
+is replaced by the locale's equivalent of either
|
|||
|
|
+.q AM
|
|||
|
|
+or
|
|||
|
|
+.q PM .
|
|||
|
|
.TP
|
|||
|
|
%R
|
|||
|
|
-is replaced by the time in the format %H:%M.
|
|||
|
|
+is replaced by the time in the format
|
|||
|
|
+.c %H:%M .
|
|||
|
|
.TP
|
|||
|
|
%r
|
|||
|
|
is replaced by the locale's representation of 12-hour clock time
|
|||
|
|
using AM/PM notation.
|
|||
|
|
.TP
|
|||
|
|
%S
|
|||
|
|
-is replaced by the second as a decimal number (00\*(en60).
|
|||
|
|
+is replaced by the second as a decimal number [00,60].
|
|||
|
|
+The range of
|
|||
|
|
+seconds is [00,60] instead of [00,59] to allow for the periodic occurrence
|
|||
|
|
+of leap seconds.
|
|||
|
|
.TP
|
|||
|
|
%s
|
|||
|
|
-is replaced by the number of seconds since the Epoch (see newctime(3)).
|
|||
|
|
+is replaced by the number of seconds since the Epoch (see
|
|||
|
|
+.BR ctime (3)).
|
|||
|
|
.TP
|
|||
|
|
%T
|
|||
|
|
-is replaced by the time in the format %H:%M:%S.
|
|||
|
|
+is replaced by the time in the format
|
|||
|
|
+.c %H:%M:%S .
|
|||
|
|
.TP
|
|||
|
|
%t
|
|||
|
|
is replaced by a tab.
|
|||
|
|
.TP
|
|||
|
|
%U
|
|||
|
|
is replaced by the week number of the year (Sunday as the first day of
|
|||
|
|
-the week) as a decimal number (00\*(en53).
|
|||
|
|
+the week) as a decimal number [00,53].
|
|||
|
|
.TP
|
|||
|
|
%u
|
|||
|
|
is replaced by the weekday (Monday as the first day of the week)
|
|||
|
|
-as a decimal number (1\*(en7).
|
|||
|
|
+as a decimal number [1,7].
|
|||
|
|
.TP
|
|||
|
|
%V
|
|||
|
|
is replaced by the week number of the year (Monday as the first day of
|
|||
|
|
-the week) as a decimal number (01\*(en53). If the week containing January
|
|||
|
|
+the week) as a decimal number [01,53]. If the week containing January
|
|||
|
|
1 has four or more days in the new year, then it is week 1; otherwise
|
|||
|
|
it is week 53 of the previous year, and the next week is week 1.
|
|||
|
|
+The year is given by the
|
|||
|
|
+.c %G
|
|||
|
|
+conversion specification.
|
|||
|
|
.TP
|
|||
|
|
%W
|
|||
|
|
is replaced by the week number of the year (Monday as the first day of
|
|||
|
|
-the week) as a decimal number (00\*(en53).
|
|||
|
|
+the week) as a decimal number [00,53].
|
|||
|
|
.TP
|
|||
|
|
%w
|
|||
|
|
is replaced by the weekday (Sunday as the first day of the week)
|
|||
|
|
-as a decimal number (0\*(en6).
|
|||
|
|
+as a decimal number [0,6].
|
|||
|
|
.TP
|
|||
|
|
%X
|
|||
|
|
is replaced by the locale's appropriate time representation.
|
|||
|
|
@@ -209,7 +234,7 @@ is replaced by the locale's appropriate date representation.
|
|||
|
|
is replaced by the year with century as a decimal number.
|
|||
|
|
.TP
|
|||
|
|
%y
|
|||
|
|
-is replaced by the year without century as a decimal number (00\*(en99).
|
|||
|
|
+is replaced by the year without century as a decimal number [00,99].
|
|||
|
|
.TP
|
|||
|
|
%Z
|
|||
|
|
is replaced by the time zone abbreviation,
|
|||
|
|
@@ -217,7 +242,7 @@ or by the empty string if this is not determinable.
|
|||
|
|
.TP
|
|||
|
|
%z
|
|||
|
|
is replaced by the offset from the Prime Meridian
|
|||
|
|
-in the format +HHMM or \*-HHMM as appropriate,
|
|||
|
|
+in the format +HHMM or \*-HHMM (ISO 8601) as appropriate,
|
|||
|
|
with positive values representing locations east of Greenwich,
|
|||
|
|
or by the empty string if this is not determinable.
|
|||
|
|
The numeric time zone abbreviation \*-0000 is used when the time is
|
|||
|
|
@@ -231,7 +256,9 @@ time zone abbreviation begins with
|
|||
|
|
is replaced by a single %.
|
|||
|
|
.TP
|
|||
|
|
%+
|
|||
|
|
-is replaced by the date and time in date(1) format.
|
|||
|
|
+is replaced by the locale's date and time in
|
|||
|
|
+.BR date (1)
|
|||
|
|
+format.
|
|||
|
|
.SH SEE ALSO
|
|||
|
|
date(1),
|
|||
|
|
getenv(3),
|
|||
|
|
@@ -239,3 +266,5 @@ newctime(3),
|
|||
|
|
newtzset(3),
|
|||
|
|
time(2),
|
|||
|
|
tzfile(5)
|
|||
|
|
+.SH BUGS
|
|||
|
|
+There is no conversion specification for the phase of the moon.
|
|||
|
|
--
|
|||
|
|
1.8.3.1
|
|||
|
|
|