diff options
author | Ulrich Drepper <drepper@redhat.com> | 1996-09-20 01:58:09 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1996-09-20 01:58:09 +0000 |
commit | ec4b0518a39f46354c0d75b4c3e2f507c9af261e (patch) | |
tree | 642ad0e74e2222c3750073d7827cfc0aead1372e /manual/time.texi | |
parent | d66b7b41b83e89e9ef27950adc31891c11800144 (diff) | |
download | glibc-ec4b0518a39f46354c0d75b4c3e2f507c9af261e.tar glibc-ec4b0518a39f46354c0d75b4c3e2f507c9af261e.tar.gz glibc-ec4b0518a39f46354c0d75b4c3e2f507c9af261e.tar.bz2 glibc-ec4b0518a39f46354c0d75b4c3e2f507c9af261e.zip |
update from main archive 960919cvs/libc-960920
Thu Sep 19 21:50:55 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/posix/gettimeofday.c (__gettimeofday): Use localtime_r
instead of localtime.
Reported by Matthias Urlichs.
* shlib-versions: Remove version number for libcrypt.
* features.h: Define __USE_REENTRANT if _REENTRANT or _THREAD_SAFE.
* libc-symbols.h: Define _REENTRANT while compiling libc.
* sysdeps/unix/sysv/linux/i386/sysdep.S (__errno_location):
Define even if !_LIBC_REENTRANT.
* sysdeps/unix/sysv/linux/i386/sysdep.S (__errno_location):
Likewise.
* sysdeps/posix/cuserid.h: Remove prototype for geteuid().
De-ANSI-fy.
* MakeTAGS ($P/libc.pot): Generate correctly formed header.
* po/header.pot: Correct title line.
* po/nl.po: Update.
Thu Sep 19 18:59:55 1996 Ulrich Drepper <drepper@cygnus.com>
* Makeconfig (soversions.mk): Prefer shared lib version numbers
is add ons over version in libc itself.
* sysdeps/unix/sysv/linux/i386/sysdep.S: Include <sysdep.h>.
* sysdeps/unix/sysv/linux/i386/sysdep.h: Prevent multiple
inclusion.
* libio/iofgets.c: Use __flockfile and __funlockfile instead of
_IO_flockfile and _IO_funlockfile resp.
* locale/categories.def: Partly support for correct `era' handling
in LC_TIME category.
* locale/langinfo.h: Likewise.
* locale/programs/ld-time.c: Likewise.
* locale/localeinfo.h: Change comment a bit.
* malloc/memalign.c: Don't use goto, not necessary anymore.
1996-09-18 Paul Eggert <eggert@twinsun.com>
* time/mktime.c (ydhms_tm_diff): Work correctly even if year
is negative, or if time_t is unsigned.
* time/strftime.c (tm_diff): Work correctly even if tm_year
is near INT_MIN.
Tue Sep 17 16:14:34 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h (__inline_mathop): Changed to generate
all three versions of the math function.
(__inline_mathopf, __inline_mathopl): Removed.
(__inline_functions): New temporary definition containing all
non-trivial inline functions.
Wed Sep 18 00:25:41 1996 Ulrich Drepper <drepper@cygnus.com>
* time/strftime.c (strftime): The T_FMT_AMPM string may be empty.
Tue Sep 17 20:27:18 1996 Ulrich Drepper <drepper@cygnus.com>
* math/Makefile (extra-libs-others): Use $(extra-libs) instead
of $(extra-libc).
Tue Sep 17 17:09:44 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/stub/fpu_control.h: Correct end of file comment.
Tue Sep 17 05:39:18 1996 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/bug3.c, stdio-common/bug4.c, stdio-common/bug5.c,
stdio-common/test-popen.c: Remove temporary files after test.
* stdio-common/bug5.c: Use `system' instead of `execlp'.
Patches by Andreas Jaeger.
* stdio-common/bug5.c: Create string for `system' argument to
make sure the input and output file names are really correct.
Sun Sep 15 12:46:44 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* configure.in: If $os contains a hyphen add the part before the
hyphen to $ostry.
Sun Sep 15 18:14:02 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h (__ieee754_pow, __ieee754_powf,
__ieee754_powl): Rename local variable i to __i.
(__ieee754_atan2, __ieee754_atan2f, __ieee754_atan2l): New inline
functions.
* sysdeps/m68k/fpu/e_atan2.c, sysdeps/m68k/fpu/e_atan2f.c,
sysdeps/m68k/fpu/e_atan2l.c: New files.
1996-09-15 Paul Eggert <eggert@twinsun.com>
* manual/time.texi: Change `range X to Y' to `range X through
Y', to avoid ambiguity in English.
(strftime): Numbers that do not have a range indicated are not padded.
Describe E and O modifiers.
%g, %G, %u: New formats.
%C, %y, %Y: Describe behavior on negative years.
%e: Fix typo (was labeled %d).
%l, %V: Fix typo in range.
%M, %S, %U, %w, %W: Give ranges.
%p: Clarify how noon and midnight are handled for AM and PM.
%s: Clarify leap second handling.
%r: Now locale-defined.
%C, %D, %e, %h, %n, %r, %t, %T: Say that they are POSIX.2 extensions.
%z: Say that it is a GNU extension.
%Z: Wording fix.
* time/strftime.c: (strftime):
%V: Fix mishandling of week numbers near year boundaries.
%g, %G: New formats (suggested by Arthur David Olson).
%U, %W: Use inline expression instead of `week' function.
%C, %y: Handle negative years portably.
%C, %Y: Use width 1, since values can be arbitrarily wide.
%r: Use T_FMT_AMPM format if _NL_CURRENT is defined.
%u: New Posix.2 format.
%w: Width is 1, not 2.
(iso_week_days): New function, for %V, %G, %g.
(week): Remove; it didn't handle %V correctly.
(__isleap): New macro.
(mbsinit): Use arg, to pacify GCC -Wall.
1996-09-13 Paul Eggert <eggert@twinsun.com>
* time/strftime.c (strftime):
If using the GNU C library, do not bother to check for
multibyte encodings, since they're safe in formats. Otherwise:
- Check for multibyte encodings when encountering any character that
is not in the basic execution character set of the C Standard.
- Use mbrlen (if available) instead of mblen, to avoid modifying
mblen's internal state.
- Do not assume that '%' cannot appear as the first character of a
multibyte character sequence, since this is possible when not in the
initial shift state.
(HAVE_MBRLEN, MULTIBYTE_IS_FORMAT_SAFE): Define if _LIBC is defined.
(DO_MULTIBYTE): New macro.
(<ctype.h>): Do not include.
(<wchar.h>): Include if HAVE_MBRLEN.
(mbstate_t, mbrlen, mbsinit): Define if ! HAVE_MBRLEN.
(mbstate_zero): New constant.
1996-09-12 Paul Eggert <eggert@twinsun.com>
* time/strftime.c (strftime):
Use an empty zone if it can't be determined; POSIX.2 requires this.
Use plain `int' for pad and modifier (which now contain char value).
Use plain `int' for number_value, to print negative values correctly.
Use plain `int' for digits; there was no need to make it unsigned.
Initialize subfmt consistently.
Remove incorrect code for %EC and %Ey; they aren't implemented yet.
For %O, if there is no alternate digit, output Ascii instead of "".
Output the `%' of an unknown format; this is most likely the right
thing to do if a multibyte string has been misparsed.
Thu Sep 12 23:23:13 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* stdio-common/scanf7.c (main): Remove extra conversion from
printf format string.
Thu Sep 12 23:01:16 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* stdlib/test-canon.c (tests): Rename structure member from errno
to error, all uses changed.
Thu Sep 12 20:08:06 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h (__ldexp, __ldexpf, __ldexpl):
Removed.
* sysdeps/m68k/fpu/s_ldexp.c, sysdeps/m68k/fpu/s_ldexpf.c,
sysdeps/m68k/fpu/s_ldexpl.c: Removed, use generic implementation
instead.
* sysdeps/m68k/fpu/s_scalbn.c, sysdeps/m68k/fpu/s_scalbnf.c,
sysdeps/m68k/fpu/s_scalbnl.c: Replaced with old contents of
s_ldexp.c, s_ldexpf.c and s_ldexpl.c, resp., suitably adpted.
* sysdeps/m68k/fpu/__math.h (__frexp, __frexpf, __frexpl):
Return value must be in [0.5, 1), not [1, 2). Reported by Chris
Lawrence.
(__ilogb, __ilogbf, __ilogbl): Check for argument being zero.
(__scalbn, __scalbnf, __scalbnl): Use second argument directly.
Thu Sep 12 19:59:24 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/e_acoshl.c: Fix typos.
* sysdeps/libm-ieee754/s_cbrtl.c: Remove unused variable.
Thu Sep 12 19:59:24 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/e_acoshl.c: Fix typos.
* sysdeps/libm-ieee754/s_cbrtl.c: Remove unused variable.
Thu Sep 12 19:56:07 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* inet/herrno.c (__h_errno_location): Fix return type.
Tue Sep 17 10:51:58 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* malloc/memalign.c (memalign): Only acquire __libc_malloc_lock
for actual modifications to global state.
Fri Sep 13 01:21:36 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* sysdeps/mach/Makefile (includes): Add -I$(common-objpfx)mach/.
* sysdeps/mach/hurd/Makefile (includes): Add
-I$(common-objpfx)hurd/. Reported by Marcus Daniels.
* sysdeps/generic/schedbits.h (struct sched_param): Renamed from
struct sched_params.
* sysdeps/stub/sched_setp.c (__sched_setparam): struct
sched_params -> struct sched_param.
* sysdeps/stub/sched_getp.c (__sched_getparam): Likewise.
* sysdeps/stub/sched_sets.c (__sched_setscheduler): Likewise.
Thu Sep 12 23:58:25 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* sysdeps/mach/libc-lock.h (__libc_cleanup_region_start): Fix
syntax error.
* stdio-common/Makefile: Put lockfile in routines
unconditionally.
Define _MT_SAFE_IO if using for libio and compiling reentrant
libc.
* stdio-common/vfprintf.c (__flockfile, __funlockfile): Declare
this always, not just if _LIBC_REENTRANT.
(__funlockfile): Don't use weak_extern for this one;
__libc_cleanup_region_end might be defined and the use of
__funlockfile can't be protected the way the use of __flockfile
can be.
* sched.h: New file. Helper to access posix/sched.h.
Thu Sep 12 12:33:52 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* sysdeps/mach/hurd/dl-cache.c: Delete second copy of file
accidentally added on.
* sysdeps/stub/intr-msg.h: New file.
* stdio-common/vfprintf.c: Include <libc-lock.h>.
* stdio-common/vfscanf.c: Include <libc-lock.h>.
* sysdeps/mach/libc-lock.h (__libc_cleanup_region_start): New
macro.
(__libc_cleanup_region_end): New macro.
Diffstat (limited to 'manual/time.texi')
-rw-r--r-- | manual/time.texi | 171 |
1 files changed, 114 insertions, 57 deletions
diff --git a/manual/time.texi b/manual/time.texi index 9da23fbfb3..18224a5520 100644 --- a/manual/time.texi +++ b/manual/time.texi @@ -465,33 +465,34 @@ contains at least the following members, which can appear in any order: @table @code @item int tm_sec This is the number of seconds after the minute, normally in the range -@code{0} to @code{59}. (The actual upper limit is @code{60}, to allow +@code{0} through @code{59}. (The actual upper limit is @code{60}, to allow for leap seconds if leap second support is available.) @cindex leap second @item int tm_min -This is the number of minutes after the hour, in the range @code{0} to +This is the number of minutes after the hour, in the range @code{0} through @code{59}. @item int tm_hour -This is the number of hours past midnight, in the range @code{0} to +This is the number of hours past midnight, in the range @code{0} through @code{23}. @item int tm_mday -This is the day of the month, in the range @code{1} to @code{31}. +This is the day of the month, in the range @code{1} through @code{31}. @item int tm_mon -This is the number of months since January, in the range @code{0} to +This is the number of months since January, in the range @code{0} through @code{11}. @item int tm_year This is the number of years since @code{1900}. @item int tm_wday -This is the number of days since Sunday, in the range @code{0} to @code{6}. +This is the number of days since Sunday, in the range @code{0} through +@code{6}. @item int tm_yday -This is the number of days since January 1, in the range @code{0} to +This is the number of days since January 1, in the range @code{0} through @code{365}. @item int tm_isdst @@ -617,6 +618,7 @@ does so. @xref{Time Zone Functions}. @comment time.h @comment ANSI +@comment POSIX.2 @deftypefun size_t strftime (char *@var{s}, size_t @var{size}, const char *@var{template}, const struct tm *@var{brokentime}) This function is similar to the @code{sprintf} function (@pxref{Formatted Input}), but the conversion specifications that can appear in the format @@ -626,9 +628,9 @@ time conversion (@pxref{Locales}). Ordinary characters appearing in the @var{template} are copied to the output string @var{s}; this can include multibyte character sequences. -Conversion specifiers are introduced by a @samp{%} character. Now can -follow an optional flag which can be one of the following. These flags -only affect the output of numbers: +Conversion specifiers are introduced by a @samp{%} character, followed +by an optional flag which can be one of the following. These flags, +which are GNU extensions, affect only the output of numbers: @table @code @item _ @@ -638,9 +640,31 @@ The number is padded with spaces. The number is not padded at all. @end table -The default action is to pad the number with zeros. Following to the -flag comes the format specifier. The whole @samp{%} sequence is -replaced in the output string as follows: +The default action is to pad the number with zeros to keep it a constant +width. Numbers that do not have a range indicated below are never +padded, since there is no natural width for them. + +An optional modifier can follow the optional flag. The modifiers, which +are POSIX.2 extensions, are: + +@table @code +@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 +Emperors' reigns. + +@item O +Use the locale's alternate numeric symbols for numbers. This modifier +applies only to numeric format specifiers. +@end table + +A modifier is ignored if no alternate representation is available. + +The conversion specifier ends with a format specifier taken from the +following list. The whole @samp{%} sequence is replaced in the output +string as follows: @table @code @item %a @@ -659,19 +683,38 @@ The full month name according to the current locale. The preferred date and time representation for the current locale. @item %C -The century of the year. +The century of the year. This is equivalent to the greatest integer not +greater than the year divided by 100. + +This format is a POSIX.2 extension. @item %d -The day of the month as a decimal number (range @code{01} to @code{31}). +The day of the month as a decimal number (range @code{01} through @code{31}). @item %D The date using the format @code{%m/%d/%y}. -This format is a GNU extension. +This format is a POSIX.2 extension. -@item %d +@item %e The day of the month like with @code{%d}, but padded with blank (range -@code{ 1} to @code{31}). +@code{ 1} through @code{31}). + +This format is a POSIX.2 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 +to the previous or next year, that year is used instead. + +This format is a 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 +instead. This format is a GNU extension. @@ -679,50 +722,51 @@ This format is a GNU extension. The abbreviated month name according to the current locale. The action is the same as for @code{%b}. -This format is a GNU extension. +This format is a POSIX.2 extension. @item %H -The hour as a decimal number, using a 24-hour clock (range @code{00} to +The hour as a decimal number, using a 24-hour clock (range @code{00} through @code{23}). @item %I -The hour as a decimal number, using a 12-hour clock (range @code{01} to +The hour as a decimal number, using a 12-hour clock (range @code{01} through @code{12}). @item %j -The day of the year as a decimal number (range @code{001} to @code{366}). +The day of the year as a decimal number (range @code{001} through @code{366}). @item %k The hour as a decimal number, using a 24-hour clock like @code{%H}, but -padded with blank (range @code{ 0} to @code{23}). +padded with blank (range @code{ 0} through @code{23}). This format is a GNU extension. @item %l The hour as a decimal number, using a 12-hour clock like @code{%I}, but -padded with blank (range @code{ 0} to @code{12}). +padded with blank (range @code{ 1} through @code{12}). This format is a GNU extension. @item %m -The month as a decimal number (range @code{01} to @code{12}). +The month as a decimal number (range @code{01} through @code{12}). @item %M -The minute as a decimal number. +The minute as a decimal number (range @code{00} through @code{59}). @item %n A single @samp{\n} (newline) character. -This format is a GNU extension. +This format is a POSIX.2 extension. @item %p -Either @samp{am} or @samp{pm}, according to the given time value; or the -corresponding strings for the current locale. +Either @samp{AM} or @samp{PM}, according to the given time value; or the +corresponding strings for the current locale. Noon is treated as +@samp{PM} and midnight as @samp{AM}. @item %r -The time in decinal numbers using the format @code{%I:%M:%S %p}. +The complete time using the AM/PM format of the current locale. -This format is a GNU extension. +This format is a POSIX.2 extension. @item %R The hour and minute in decimal numbers using the format @code{%H:%M}. @@ -730,47 +774,58 @@ The hour and minute in decimal numbers using the format @code{%H:%M}. This format is a GNU extension. @item %s -The seconds since the epoch, i.e., 1970-01-01 00:00:00 UTC. Note -that this value is the number of seconds between the epoch and the -current date as defined by the @code{localtime} system call. +The number of 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 format is a GNU extension. @item %S -The second as a decimal number. +The second as a decimal number (range @code{00} through @code{60}). @item %t A single @samp{\t} (tabulator) character. -This format is a GNU extension. +This format is a POSIX.2 extension. @item %T The time using decimal numbers using the format @code{%H:%M:%S}. -This format is a GNU extension. +This format is a POSIX.2 extension. + +@item %u +The day of the week as a decimal number (range @code{1} through +@code{7}), Monday being @code{1}. + +This format is a POSIX.2 extension. @item %U -The week number of the current year as a decimal number, starting with -the first Sunday as the first day of the first week. All days preceding -the first Sunday in the year are considered to be in week @code{0}. +The week number of the current year as a decimal number (range @code{00} +through @code{53}), starting with the first Sunday as the first day of +the first week. Days preceding the first Sunday in the year are +considered to be in week @code{00}. @item %V -The @w{ISO 8601:1988} week number as a decimal number (range @code{00} -to @code{53}). ISO weeks start with Monday and end with Sunday. Week -01 of a year is the first week which has the majority of its days in -that year; this is equivalent to the week containing the year's first -Thursday, and it is also equivalent to the week containing January 4. -Week 01 of a year can contain days from the previous year. The week -before week 01 of a year is the last week (52 or 53) of the previous -year even if it contains days from the new year. +The @w{ISO 8601:1988} week number as a decimal number (range @code{01} +through @code{53}). ISO weeks start with Monday and end with Sunday. +Week @code{01} of a year is the first week which has the majority of its +days in that year; this is equivalent to the week containing the year's +first Thursday, and it is also equivalent to the week containing January +4. Week @code{01} of a year can contain days from the previous year. +The week before week @code{01} of a year is the last week (@code{52} or +@code{53}) of the previous year even if it contains days from the new +year. + +This format is a POSIX.2 extension. @item %w -The day of the week as a decimal number, Sunday being @code{0}. +The day of the week as a decimal number (range @code{0} through +@code{6}), Sunday being @code{0}. @item %W -The week number of the current year as a decimal number, starting with -the first Monday as the first day of the first week. All days preceding -the first Monday in the year are considered to be in week @code{0}. +The week number of the current year as a decimal number (range @code{00} +through @code{53}), starting with the first Monday as the first day of +the first week. All days preceding the first Monday in the year are +considered to be in week @code{00}. @item %x The preferred date representation for the current locale, but without the @@ -780,20 +835,22 @@ time. The preferred time representation for the current locale, but with no date. @item %y -The year as a decimal number, but without a century (range @code{00} to -@code{99}). +The year without a century as a decimal number (range @code{00} through +@code{99}). This is equivalent to the year modulo 100. @item %Y -The year as a decimal number, including the century. +The year as a decimal number, using the Gregorian calendar. Years +before the year @code{1} are numbered @code{0}, @code{-1}, and so on. @item %z @w{RFC 822}/@w{ISO 8601:1988} style numeric time zone (e.g., @code{-0600} or @code{+0100}), or nothing if no time zone is determinable. +This format is a GNU extension. + @item %Z -The time zone or name or abbreviation (empty if the time zone can't be -determined). +The time zone abbreviation (empty if the time zone can't be determined). @item %% A literal @samp{%} character. |