All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: bugzilla-daemon@kernel.org
To: linux-man@vger.kernel.org
Subject: [Bug 218711] New: strftime man page incorrectly claims that TZ is used
Date: Thu, 11 Apr 2024 19:44:43 +0000	[thread overview]
Message-ID: <bug-218711-11311@https.bugzilla.kernel.org/> (raw)

https://bugzilla.kernel.org/show_bug.cgi?id=218711

            Bug ID: 218711
           Summary: strftime man page incorrectly claims that TZ is used
           Product: Documentation
           Version: unspecified
          Hardware: All
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P3
         Component: man-pages
          Assignee: documentation_man-pages@kernel-bugs.osdl.org
          Reporter: gharris@sonic.net
        Regression: No

The strftime man page says, in the ENVIRONMENT section, that "The environment
variables TZ and LC_TIME are used."

strftime(), in Linux, does not use the TZ environment variable.  It is passed a
pointer to a struct tm, which contains a time stamp that can reflect either
local time or UTC, and formats a string based on the values in that structure. 
If the structure reflects local time, there is no need for any conversion of
POSIX time to local time, so TZ is not used.  If the structure reflects UTC,
the string will reflect UTC, meaning that, again, there is no need for any
conversion to local time, so TZ is not used.

TZ is *indirectly* used, because, to quote the Single UNIX Specification page
for strftime(), "Local timezone information is used as though strftime() called
tzset().", and, to quote the Single UNIX Specification page for tzset(), "The
tzset() function shall use the value of the environment variable TZ to set time
conversion information used by ctime, localtime, mktime, and strftime."

The reason why strftime is mentioned is that the %Z format specifier is
"Replaced by the timezone name or abbreviation, or by no bytes if no timezone
information exists."  In systems in which struct tm includes the tm_zone
member, %Z can use the tm_zone member as the timezone abbreviation, but, in
systems where it does *not* include the tm_zone member, strftime() might, for
example, have to fall back on using the tzname[] array and the tm_isdst member
to select an element of that array.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

             reply	other threads:[~2024-04-11 19:44 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-11 19:44 bugzilla-daemon [this message]
2024-04-11 21:55 ` [Bug 218711] New: strftime man page incorrectly claims that TZ is used Alejandro Colomar
2024-04-11 21:55 ` [Bug 218711] " bugzilla-daemon
2024-04-11 22:04 ` bugzilla-daemon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-218711-11311@https.bugzilla.kernel.org/ \
    --to=bugzilla-daemon@kernel.org \
    --cc=linux-man@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.