diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2005-03-08 22:19:39 +0000 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2005-03-08 22:19:39 +0000 |
commit | e0113b01757fd619738fcd35eedd4dc052cbb42f (patch) | |
tree | 1a091d639825dc3bbd2f7119ebe06e7f94a4bcc2 /doc | |
parent | 182e347d779fe3490c9d5be47ea34b3d5d6f2733 (diff) | |
download | coreutils-e0113b01757fd619738fcd35eedd4dc052cbb42f.tar.xz |
(date invocation): Use an example that makes it
clear tha the default date use space-padded day of month.
Replace "directive" with "conversion specifier" to be consistent
with POSIX. All uses changed.
Fix menu RHS to match actual directive lists.
(Time conversion specifiers): Renamed from Time directives.
Use @samp consistently, sometimes instead of @code.
Consistently ention which specifiers are GNU extensions.
Give more examples (in some cases, instead of ranges).
Say why %F is preferred for dates.
(Date conversion specifiers): Renamed from Date directives.
Likewise for other changes.
(Padding and other flags): Correct the description.
Document #. Give an example for %9B.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/coreutils.texi | 202 |
1 files changed, 111 insertions, 91 deletions
diff --git a/doc/coreutils.texi b/doc/coreutils.texi index f235fb2a0..57bc4c7dc 100644 --- a/doc/coreutils.texi +++ b/doc/coreutils.texi @@ -395,13 +395,13 @@ System context @command{date}: Print or set system date and time -* Time directives:: Time directives -* Date directives:: Date directives -* Literal directives:: Literal directives -* Padding and other flags:: Padding and other flags -* Setting the time:: Setting the time -* Options for date:: Options for @command{date} -* Examples of date:: Examples of @command{date} +* Time conversion specifiers:: %[HIklMNpPrRsSTXzZ] +* Date conversion specifiers:: %[aAbBcCdDeFgGhjmuUVwWxyY] +* Literal conversion specifiers:: %[%nt] +* Padding and other flags:: Pad with zeroes, spaces, etc. +* Setting the time:: Changing the system clock. +* Options for date:: Instead of the current time. +* Examples of date:: Examples. Modified command invocation @@ -11417,7 +11417,7 @@ date [-u|--utc|--universal] @c this avoids a newline in the output Invoking @command{date} with no @var{format} argument is equivalent to invoking it with a default format that depends on the @env{LC_TIME} locale category. In the default C locale, this format is @samp{'+%a %b %e %H:%M:%S %Z %Y'}, -so the output looks like @samp{Fri Feb 27 13:47:51 PST 2004}. +so the output looks like @samp{Thu Mar @ 3 13:47:51 PST 2005}. @vindex TZ Normally, @command{date} uses the time zone rules indicated by the @@ -11432,165 +11432,179 @@ If given an argument that starts with a @samp{+}, @command{date} prints the current time and date (or the time and date specified by the @option{--date} option, see below) in the format defined by that argument, which is similar to that of the @code{strftime} function. Except for -directives, which start with @samp{%}, characters in the format string -are printed unchanged. The directives are described below. +conversion specifiers, which start with @samp{%}, characters in the +format string are printed unchanged. The conversion specifiers are +described below. @exitstatus @menu -* Time directives:: %[HIklMprsSTXzZ] -* Date directives:: %[aAbBcCdDhjmUwWxyY] -* Literal directives:: %[%nt] -* Padding and other flags:: Pad with zeroes, spaces (%_), etc. -* Setting the time:: Changing the system clock. -* Options for date:: Instead of the current time. -* Examples of date:: Examples. +* Time conversion specifiers:: %[HIklMNpPrRsSTXzZ] +* Date conversion specifiers:: %[aAbBcCdDeFgGhjmuUVwWxyY] +* Literal conversion specifiers:: %[%nt] +* Padding and other flags:: Pad with zeroes, spaces, etc. +* Setting the time:: Changing the system clock. +* Options for date:: Instead of the current time. +* Examples of date:: Examples. @end menu -@node Time directives -@subsection Time directives +@node Time conversion specifiers +@subsection Time conversion specifiers -@cindex time directives -@cindex directives, time +@cindex time conversion specifiers +@cindex conversion specifiers, time -@command{date} directives related to times. +@command{date} conversion specifiers related to times. @table @samp @item %H -hour (00@dots{}23) +hour (@samp{00}@dots{}@samp{23}) @item %I -hour (01@dots{}12) +hour (@samp{01}@dots{}@samp{12}) @item %k -hour ( 0@dots{}23). +hour (@samp{ 0}@dots{}@samp{23}). This is a @acronym{GNU} extension. @item %l -hour ( 1@dots{}12). +hour (@samp{ 1}@dots{}@samp{12}). This is a @acronym{GNU} extension. @item %M -minute (00@dots{}59) +minute (@samp{00}@dots{}@samp{59}) @item %N -nanoseconds (000000000@dots{}999999999) +nanoseconds (@samp{000000000}@dots{}@samp{999999999}). +This is a @acronym{GNU} extension. @item %p -locale's upper case @samp{AM} or @samp{PM} (blank in many locales). +locale's equivalent of either @samp{AM} or @samp{PM}; +blank in many locales. Noon is treated as @samp{PM} and midnight as @samp{AM}. @item %P -locale's lower case @samp{am} or @samp{pm} (blank in many locales). -Noon is treated as @samp{pm} and midnight as @samp{am}. +like @samp{%p}, except lower case. This is a @acronym{GNU} extension. @item %r -locale's 12-hour time (hh:mm:ss [AP]M) +locale's 12-hour clock time (e.g., @samp{11:11:04 PM}) @item %R -24-hour hour and minute. Same as @code{%H:%M}. +24-hour hour and minute. Same as @samp{%H:%M}. +This is a @acronym{GNU} extension. @item %s @cindex epoch, seconds since @cindex seconds since the epoch @cindex beginning of time seconds since the epoch, i.e., since 1970-01-01 00:00:00 UTC. Leap seconds are not counted unless leap second support is available. -This is a @acronym{GNU} extension. @xref{%s-examples}, for examples. +This is a @acronym{GNU} extension. @item %S -second (00@dots{}60). This may be @samp{60} if leap seconds are supported. +second (@samp{00}@dots{}@samp{60}). +This may be @samp{60} if leap seconds are supported. @item %T -24-hour hour, minute, and second. Same as @code{%H:%M:%S}. +24-hour hour, minute, and second. Same as @samp{%H:%M:%S}. @item %X -locale's time representation (hh:mm:ss) +locale's time representation (e.g., @samp{23:13:48}) @item %z -@w{RFC 2822}/@w{ISO 8601} style numeric time zone (e.g., @samp{-0600} +@w{RFC 2822/ISO 8601} style numeric time zone (e.g., @samp{-0600} or @samp{+0100}), or nothing if no time zone is determinable. This value reflects the numeric time zone appropriate for the current time, using the time zone rules specified by the @env{TZ} environment variable. The time (and optionally, the time zone rules) can be overridden by the @option{--date} option. +This is a @acronym{GNU} extension. @item %Z alphabetic time zone abbreviation (e.g., @samp{EDT}), or nothing if no time zone is determinable. See @samp{%z} for how it is determined. @end table -@node Date directives -@subsection Date directives +@node Date conversion specifiers +@subsection Date conversion specifiers -@cindex date directives -@cindex directives, date +@cindex date conversion specifiers +@cindex conversion specifiers, date -@command{date} directives related to dates. +@command{date} conversion specifiers related to dates. @table @samp @item %a -locale's abbreviated weekday name (Sun@dots{}Sat) +locale's abbreviated weekday name (e.g., @samp{Sun}) @item %A -locale's full weekday name, variable length (Sunday@dots{}Saturday) +locale's full weekday name, variable length (e.g., @samp{Sunday}) @item %b -locale's abbreviated month name (Jan@dots{}Dec) +locale's abbreviated month name (e.g., @samp{Jan}) @item %B -locale's full month name, variable length (January@dots{}December) +locale's full month name, variable length (e.g., @samp{January}) @item %c -locale's date and time (Sat Nov 04 12:02:33 EST 1989) +locale's date and time (e.g., @samp{Thu Mar @ 3 23:05:25 2005}) @item %C -century. This is like @code{%Y}, except the last two digits are omitted. -For example, it is @samp{20} if @code{%Y} is @samp{2000}, -and is @samp{-0} if @code{%Y} is @samp{-001}. +century. This is like @samp{%Y}, except the last two digits are omitted. +For example, it is @samp{20} if @samp{%Y} is @samp{2000}, +and is @samp{-0} if @samp{%Y} is @samp{-001}. It is normally at least two characters, but it may be more. @item %d -day of month (01@dots{}31) +day of month (e.g., @samp{01}) @item %D -date (equivalent to @code{%m/%d/%y}) +date; same as @samp{%m/%d/%y} @item %e -blank-padded day of month ( 1@dots{}31) +day of month, space padded; same as @samp{%_d} @item %F -the @w{ISO 8601} standard date format: @code{%Y-%m-%d}. -This is the preferred form for all uses. +full date in @w{ISO 8601} format; same as @samp{%Y-%m-%d}. +This is a good choice for a date format, as it is standard and +is easy to sort in the usual case where years are in the range +0000@dots{}9999. +This is a @acronym{GNU} extension. @item %g The year corresponding to the ISO week number, but without the century -(range @code{00} through @code{99}). This has the same format and value -as @code{%y}, except that if the ISO week number (see @code{%V}) belongs +(range @samp{00} through @samp{99}). This has the same format and value +as @samp{%y}, except that if the ISO week number (see @samp{%V}) belongs to the previous or next year, that year is used instead. +This is a @acronym{GNU} extension. @item %G The year corresponding to the ISO week number. This has the same format -and value as @code{%Y}, except that if the ISO week number (see -@code{%V}) belongs to the previous or next year, that year is used +and value as @samp{%Y}, except that if the ISO week number (see +@samp{%V}) belongs to the previous or next year, that year is used instead. +This is a @acronym{GNU} extension. @item %h -same as @code{%b} +same as @samp{%b} @item %j -day of year (001@dots{}366) +day of year (@samp{001}@dots{}@samp{366}) @item %m -month (01@dots{}12) +month (@samp{01}@dots{}@samp{12}) @item %u -day of week (1@dots{}7) with 1 corresponding to Monday +day of week (@samp{1}@dots{}@samp{7}) with @samp{1} corresponding to Monday @item %U -week number of year with Sunday as first day of week (00@dots{}53). +week number of year with Sunday as first day of week +(@samp{00}@dots{}@samp{53}). Days in a new year preceding the first Sunday are in week zero. @item %V week number of year with Monday as first day of the week as a decimal -(01@dots{}53). If the week containing January 1 has four or more days in +(@samp{01}@dots{}@samp{53}). +If the week containing January 1 has four or more days in the new year, then it is considered week 1; otherwise, it is week 53 of the previous year, and the next week is week 1. (See the @acronym{ISO} 8601 standard.) @item %w -day of week (0@dots{}6) with 0 corresponding to Sunday +day of week (@samp{0}@dots{}@samp{6}) with 0 corresponding to Sunday @item %W -week number of year with Monday as first day of week (00@dots{}53). +week number of year with Monday as first day of week +(@samp{00}@dots{}@samp{53}). Days in a new year preceding the first Monday are in week zero. @item %x -locale's date representation (mm/dd/yy) +locale's date representation (e.g., @samp{12/31/99}) @item %y -last two digits of year (00@dots{}99) +last two digits of year (@samp{00}@dots{}@samp{99}) @item %Y year. This is normally at least four characters, but it may be more. -Year 0000 precedes year 0001, and year -001 precedes year 0000. +Year @samp{0000} precedes year @samp{0001}, and year @samp{-001} +precedes year @samp{0000}. @end table -@node Literal directives -@subsection Literal directives +@node Literal conversion specifiers +@subsection Literal conversion specifiers -@cindex literal directives -@cindex directives, literal +@cindex literal conversion specifiers +@cindex conversion specifiers, literal -@command{date} directives that produce literal strings. +@command{date} conversion specifiers that produce literal strings. @table @samp @item %% @@ -11609,25 +11623,30 @@ a horizontal tab @cindex padding of numeric fields @cindex fields, padding numeric -By default, @command{date} pads numeric fields with zeroes, so that, for +Unless otherwise specified, @command{date} normally pads numeric fields +with zeroes, so that, for example, numeric months are always output as two digits. -Numbers that do not have a range are never -padded, since there is no natural width for them. +Seconds since the epoch are not padded, though, +since there is no natural width for them. As a @acronym{GNU} extension, @command{date} recognizes any of the following optional flags after the @samp{%}: @table @samp @item - -(hyphen) do not pad the field; useful if the output is intended for +(hyphen) Do not pad the field; useful if the output is intended for human consumption. @item _ -(underscore) pad the field with spaces; useful if you need a fixed +(underscore) Pad with spaces; useful if you need a fixed number of characters in the output, but zeroes are too distracting. @item 0 -(zero) Pad with zeros even if the format specifies padding with spaces. +(zero) Pad with zeros even if the conversion specifier +would normally pad with spaces. @item ^ Use upper case characters if possible. +@item # +Use opposite case characters if possible. +A field that is normally upper case becomes lower case, and vice versa. @end table @noindent @@ -11643,25 +11662,26 @@ date +%_d/%_m -d "Feb 1" @end example As a @acronym{GNU} extension, you can specify the field width -after any flag, as a decimal number. If the natural size of the +(after any flag, if present) as a decimal number. If the natural size of the output is of the field has less than the specified number of characters, -the result is written right adjusted and space padded to the given -size. +the result is written right adjusted and padded to the given +size. For example, @samp{%9B} prints the right adjusted month name in +a field of width 9. An optional modifier can follow the optional flag and width specification. The modifiers are: -@table @code +@table @samp @item E Use the locale's alternate representation for date and time. This -modifier applies to the @code{%c}, @code{%C}, @code{%x}, @code{%X}, -@code{%y} and @code{%Y} format specifiers. In a Japanese locale, for -example, @code{%Ex} might yield a date format based on the Japanese +modifier applies to the @samp{%c}, @samp{%C}, @samp{%x}, @samp{%X}, +@samp{%y} and @samp{%Y} conversion specifiers. In a Japanese locale, for +example, @samp{%Ex} might yield a date format based on the Japanese Emperors' reigns. @item O Use the locale's alternate numeric symbols for numbers. This modifier -applies only to numeric format specifiers. +applies only to numeric conversion specifiers. @end table If the format supports the modifier but no alternate representation @@ -11878,7 +11898,7 @@ for example @samp{date -d 1may '+%B %d'} will print @samp{May 01}. @item To print a date without the leading zero for one-digit days of the month, you can use the (@acronym{GNU} extension) -@code{-} flag to suppress +@samp{-} flag to suppress the padding altogether: @example |