]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
bpo-36779: time.tzname returns empty string on Windows if default cod… (GH-13073)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Thu, 13 Jun 2019 13:42:46 +0000 (06:42 -0700)
committerGitHub <noreply@github.com>
Thu, 13 Jun 2019 13:42:46 +0000 (06:42 -0700)
commit6a433f5ae63de72a85d20b05ff826c6f72d529b7
tree4fb5698e65728a18730f80c025a85c03d0a243e4
parent6eb2878e42152e9c45d7ee5e6f889532d753e67c
bpo-36779: time.tzname returns empty string on Windows if default cod… (GH-13073)

Calling setlocale(LC_CTYPE, "") on a system where GetACP() returns CP_UTF8 results in empty strings in _tzname[].

This causes time.tzname to be an empty string.
I have reported the bug to the UCRT team and will follow up, but it will take some time get a fix into production.

In the meantime one possible workaround is to temporarily change the locale by calling setlocale(LC_CTYPE, "C") before calling _tzset and restore the current locale after if the GetACP() == CP_UTF8 or CP_UTF7

@zooba

https://bugs.python.org/issue36779
(cherry picked from commit b4c7defe58695a6670a8fdeaef67a638bbb47e42)

Co-authored-by: Paul Monson <paulmon@users.noreply.github.com>
Misc/NEWS.d/next/Windows/2019-06-11-15-41-34.bpo-36779.0TMw6f.rst [new file with mode: 0644]
Modules/timemodule.c