Fix #8683: html_last_updated_fmt generates wrong time zone for %Z

sphinx.util.i18n:format_date() converts '%Z' to full name of time zone
unexpectedly.  It should be converted to short name.
This commit is contained in:
Takeshi KOMIYA 2021-01-13 00:39:13 +09:00
parent d5559e1ba2
commit 8ff8b5532c
3 changed files with 4 additions and 1 deletions

View File

@ -51,6 +51,7 @@ Bugs fixed
* #8341: C, fix intersphinx lookup types for names in declarations.
* C, C++: in general fix intersphinx and role lookup types.
* #8683: :confval:`html_last_updated_fmt` does not support UTC offset (%z)
* #8683: :confval:`html_last_updated_fmt` generates wrong time zone for %Z
Testing
--------

View File

@ -236,7 +236,7 @@ date_format_mappings = {
'%X': 'medium', # Locales appropriate time representation.
'%y': 'YY', # Year without century as a zero-padded decimal number.
'%Y': 'yyyy', # Year with century as a decimal number.
'%Z': 'zzzz', # Time zone name (no characters if no time zone exists).
'%Z': 'zzz', # Time zone name (no characters if no time zone exists).
'%z': 'ZZZ', # UTC offset in the form ±HHMM[SS[.ffffff]]
# (empty string if the object is naive).
'%%': '%',

View File

@ -88,6 +88,8 @@ def test_format_date():
assert i18n.format_date(format, date=date) == 'Feb 7, 2016'
# timezone
format = '%Z'
assert i18n.format_date(format, date=datet) == 'UTC'
format = '%z'
assert i18n.format_date(format, date=datet) == '+0000'