Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-tzlocal for openSUSE:Factory checked in at 2023-05-04 17:09:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-tzlocal (Old) and /work/SRC/openSUSE:Factory/.python-tzlocal.new.1533 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-tzlocal" Thu May 4 17:09:32 2023 rev:16 rq:1084231 version:4.3 Changes: -------- --- /work/SRC/openSUSE:Factory/python-tzlocal/python-tzlocal.changes 2023-04-22 22:03:00.230128812 +0200 +++ /work/SRC/openSUSE:Factory/.python-tzlocal.new.1533/python-tzlocal.changes 2023-05-04 17:09:41.784056471 +0200 @@ -1,0 +2,8 @@ +Wed May 3 09:22:07 UTC 2023 - Dirk Müller <dmuel...@suse.com> + +- update to 4.3: + * Improved the error message when the ZoneInfo cannot be found + * Don't error out because we find multiple possible timezones + for a symlink. + +------------------------------------------------------------------- Old: ---- 4.2.tar.gz New: ---- 4.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-tzlocal.spec ++++++ --- /var/tmp/diff_new_pack.VIqIK0/_old 2023-05-04 17:09:42.232059093 +0200 +++ /var/tmp/diff_new_pack.VIqIK0/_new 2023-05-04 17:09:42.236059117 +0200 @@ -20,7 +20,7 @@ %define modname tzlocal %{?sle15_python_module_pythons} Name: python-%{modname} -Version: 4.2 +Version: 4.3 Release: 0 Summary: tzinfo object for the local timezone License: MIT ++++++ 4.2.tar.gz -> 4.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tzlocal-4.2/.github/workflows/test.yml new/tzlocal-4.3/.github/workflows/test.yml --- old/tzlocal-4.2/.github/workflows/test.yml 2022-04-02 16:15:45.000000000 +0200 +++ new/tzlocal-4.3/.github/workflows/test.yml 2023-03-18 14:47:05.000000000 +0100 @@ -11,24 +11,24 @@ fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] - python-version: [3.6, 3.7, 3.8, 3.9, pypy3] + python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "pypy3.8"] exclude: - os: macos-latest - python-version: 3.7 + python-version: 3.8 - os: macos-latest python-version: pypy3 - os: windows-latest - python-version: 3.7 + python-version: 3.8 - os: windows-latest python-version: pypy3 runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - - uses: actions/cache@v2 + - uses: actions/cache@v3 with: path: ~/.cache/pip key: pip-test-${{ matrix.python-version }}-${{ matrix.os }} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tzlocal-4.2/CHANGES.txt new/tzlocal-4.3/CHANGES.txt --- old/tzlocal-4.2/CHANGES.txt 2022-04-02 16:15:45.000000000 +0200 +++ new/tzlocal-4.3/CHANGES.txt 2023-03-18 14:47:05.000000000 +0100 @@ -1,6 +1,17 @@ Changes ======= +4.3 (2023-03-18) +---------------- + +- Improved the error message when the ZoneInfo cannot be found + +- Don't error out because we find multiple possible timezones for + a symlink. + +- More stable on Android/Termux with proot + + 4.2 (2022-04-02) ---------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tzlocal-4.2/README.rst new/tzlocal-4.3/README.rst --- old/tzlocal-4.2/README.rst 2022-04-02 16:15:45.000000000 +0200 +++ new/tzlocal-4.3/README.rst 2023-03-18 14:47:05.000000000 +0100 @@ -25,8 +25,8 @@ for pytz compatibility) with the local timezone information, under Unix and Windows. -It requires Python 3.6 or later, and will use the ``backports.tzinfo`` -package, for Python 3.6 to 3.8. +It requires Python 3.7 or later, and will use the ``backports.tzinfo`` +package, for Python 3.7 and 3.8. This module attempts to fix a glaring hole in the ``pytz`` and ``zoneinfo`` modules, that there is no way to get the local timezone information, unless @@ -70,6 +70,16 @@ If your unix system doesn't have a timezone configured, tzlocal will default to UTC. +Notes on Docker +--------------- + +It turns out that Docker images frequently have broken timezone setups. +This usually resuts in a warning that the configuration is wrong, or that +the timezone offset doesn't match the found timezone. + +The easiest way to fix that is to set a TZ variable in your docker setup +to whatever timezone you want, which is usually the timezone your host +computer has. Usage ----- @@ -154,6 +164,8 @@ * Miroslav Šedivý * revansSZ * Sam Treweek +* Peter Di Pasquale +* Rongrong (Sorry if I forgot someone) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tzlocal-4.2/setup.cfg new/tzlocal-4.3/setup.cfg --- old/tzlocal-4.2/setup.cfg 2022-04-02 16:15:45.000000000 +0200 +++ new/tzlocal-4.3/setup.cfg 2023-03-18 14:47:05.000000000 +0100 @@ -2,7 +2,7 @@ name = tzlocal description = tzinfo object for the local timezone long_description = file: README.rst, CHANGES.txt -version = 4.2 +version = 4.3 author = Lennart Regebro author_email = rege...@gmail.com project_urls = @@ -18,14 +18,15 @@ Operating System :: MacOS :: MacOS X Programming Language :: Python :: 3 Programming Language :: Python :: 3 :: Only - Programming Language :: Python :: 3.6 Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 + Programming Language :: Python :: 3.11 [options] packages = find: -python_requires = >= 3.6 +python_requires = >= 3.7 zip_safe = True install_requires = pytz_deprecation_shim @@ -36,14 +37,20 @@ include = tzlocal [options.extras_require] -test = +devenv = pytest >= 4.3 pytest-mock >= 3.3 -devenv = pytest-cov black + flake8 + check_manifest pyroma zest.releaser [zest.releaser] create-wheel = yes + +[flake8] +max-line-length=120 +# black and flake8 differs in opinion here, and I can't change black: +ignore=E203 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tzlocal-4.2/tests/test_tzlocal.py new/tzlocal-4.3/tests/test_tzlocal.py --- old/tzlocal-4.2/tests/test_tzlocal.py 2022-04-02 16:15:45.000000000 +0200 +++ new/tzlocal-4.3/tests/test_tzlocal.py 2023-03-18 14:47:05.000000000 +0100 @@ -152,7 +152,7 @@ # something reasonable back. tz = tzlocal.win32.get_localzone() # It should be a timezone with a slash in it, at least: - assert '/' in str(tz) + assert "/" in str(tz) return # Yes, winreg is all mocked out, but this test means we at least @@ -165,6 +165,7 @@ sys.modules["winreg"] = winreg import tzlocal.win32 + tz = tzlocal.win32.get_localzone() assert str(tz) == "Europe/Minsk" @@ -212,8 +213,9 @@ valuesmock.configure_mock( return_value={ "TimeZoneKeyName": "Romance Standard Time", - "DynamicDaylightTimeDisabled": 1 - }) + "DynamicDaylightTimeDisabled": 1, + } + ) tzlocal.win32._cache_tz_name = None tzlocal.win32._cache_tz = None assert str(tzlocal.win32.get_localzone()) == "Etc/GMT-1" @@ -223,8 +225,9 @@ valuesmock.configure_mock( return_value={ "TimeZoneKeyName": "Belarus Standard Time", - "DynamicDaylightTimeDisabled": 1 - }) + "DynamicDaylightTimeDisabled": 1, + } + ) tz = tzlocal.win32._get_localzone_name() assert tz == "Europe/Minsk" @@ -233,16 +236,18 @@ valuesmock.configure_mock( return_value={ "TimeZoneKeyName": "Cen. Australia Standard Time", - "DynamicDaylightTimeDisabled": 1 - }) + "DynamicDaylightTimeDisabled": 1, + } + ) pytest.raises(ZoneInfoNotFoundError, tzlocal.win32._get_localzone_name) # But again, if there is no DST, that works fine: valuesmock.configure_mock( return_value={ "TimeZoneKeyName": "Aus Central W. Standard Time", - "DynamicDaylightTimeDisabled": 1 - }) + "DynamicDaylightTimeDisabled": 1, + } + ) tz = tzlocal.win32._get_localzone_name() assert tz == "Australia/Eucla" @@ -261,7 +266,7 @@ ) def test_conflicting(): with pytest.raises(ZoneInfoNotFoundError) as excinfo: - tz = tzlocal.unix._get_localzone(_root=tz_path("conflicting")) + tzlocal.unix._get_localzone(_root=tz_path("conflicting")) message = excinfo.value.args[0] assert "Multiple conflicting time zone configurations found:\n" in message assert "Europe/Paris" in message @@ -328,4 +333,3 @@ def test_ubuntu_docker_bug(): tz = tzlocal.unix._get_localzone(_root=tz_path("ubuntu_docker_bug")) assert str(tz) == "UTC" - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tzlocal-4.2/tzlocal/unix.py new/tzlocal-4.3/tzlocal/unix.py --- old/tzlocal-4.2/tzlocal/unix.py 2022-04-02 16:15:45.000000000 +0200 +++ new/tzlocal-4.3/tzlocal/unix.py 2023-03-18 14:47:05.000000000 +0100 @@ -34,12 +34,16 @@ if os.path.exists(os.path.join(_root, "system/bin/getprop")): import subprocess - androidtz = ( - subprocess.check_output(["getprop", "persist.sys.timezone"]) - .strip() - .decode() - ) - return androidtz + try: + androidtz = ( + subprocess.check_output(["getprop", "persist.sys.timezone"]) + .strip() + .decode() + ) + return androidtz + except (OSError, subprocess.CalledProcessError): + # proot environment or failed to getprop + pass # Now look for distribution specific configuration files # that contain the timezone name. @@ -50,10 +54,10 @@ for configfile in ("etc/timezone", "var/db/zoneinfo"): tzpath = os.path.join(_root, configfile) try: - with open(tzpath, "rt") as tzfile: + with open(tzpath) as tzfile: data = tzfile.read() - etctz = data.strip('/ \t\r\n') + etctz = data.strip("/ \t\r\n") if not etctz: # Empty file, skip continue @@ -68,7 +72,7 @@ found_configs[tzpath] = etctz.replace(" ", "_") - except (IOError, UnicodeDecodeError): + except (OSError, UnicodeDecodeError): # File doesn't exist or is a directory, or it's a binary file. continue @@ -95,13 +99,13 @@ match = timezone_re.match(line) if match is not None: # Some setting existed - line = line[match.end():] + line = line[match.end() :] etctz = line[: end_re.search(line).start()] # We found a timezone found_configs[tzpath] = etctz.replace(" ", "_") - except (IOError, UnicodeDecodeError): + except (OSError, UnicodeDecodeError): # UnicodeDecode handles when clock is symlink to /etc/localtime continue @@ -109,7 +113,7 @@ # see manpage of localtime(5) and timedatectl(1) tzpath = os.path.join(_root, "etc/localtime") if os.path.exists(tzpath) and os.path.islink(tzpath): - etctz = realtzpath = os.path.realpath(tzpath) + etctz = os.path.realpath(tzpath) start = etctz.find("/") + 1 while start != 0: etctz = etctz[start:] @@ -117,6 +121,8 @@ pds.timezone(etctz) tzinfo = f"{tzpath} is a symlink to" found_configs[tzinfo] = etctz.replace(" ", "_") + # Only need first valid relative path in simlink. + break except pds.UnknownTimeZoneError: pass start = etctz.find("/") + 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tzlocal-4.2/tzlocal/utils.py new/tzlocal-4.3/tzlocal/utils.py --- old/tzlocal-4.2/tzlocal/utils.py 2022-04-02 16:15:45.000000000 +0200 +++ new/tzlocal-4.3/tzlocal/utils.py 2023-03-18 14:47:05.000000000 +0100 @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- import os import time import datetime @@ -124,5 +123,5 @@ # Nope, it's something like "PST4DST" etc, we can't handle that. raise ZoneInfoNotFoundError( "tzlocal() does not support non-zoneinfo timezones like %s. \n" - "Please use a timezone in the form of Continent/City" + "Please use a timezone in the form of Continent/City" % tzenv ) from None diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tzlocal-4.2/tzlocal/win32.py new/tzlocal-4.3/tzlocal/win32.py --- old/tzlocal-4.2/tzlocal/win32.py 2022-04-02 16:15:45.000000000 +0200 +++ new/tzlocal-4.3/tzlocal/win32.py 2023-03-18 14:47:05.000000000 +0100 @@ -89,12 +89,14 @@ if std_offset is None: raise utils.ZoneInfoNotFoundError( - f"{tzkeyname} claims to not have a non-DST time!?") + f"{tzkeyname} claims to not have a non-DST time!?" + ) if std_offset % 3600: # I can't convert this to an hourly offset raise utils.ZoneInfoNotFoundError( - f"tzlocal can't support disabling DST in the {timezone} zone.") + f"tzlocal can't support disabling DST in the {timezone} zone." + ) # This has whole hours as offset, return it as Etc/GMT return f"Etc/GMT{-std_offset//3600:+.0f}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tzlocal-4.2/tzlocal/windows_tz.py new/tzlocal-4.3/tzlocal/windows_tz.py --- old/tzlocal-4.2/tzlocal/windows_tz.py 2022-04-02 16:15:45.000000000 +0200 +++ new/tzlocal-4.3/tzlocal/windows_tz.py 2023-03-18 14:47:05.000000000 +0100 @@ -70,7 +70,7 @@ 'Montevideo Standard Time': 'America/Montevideo', 'Morocco Standard Time': 'Africa/Casablanca', 'Mountain Standard Time': 'America/Denver', - 'Mountain Standard Time (Mexico)': 'America/Chihuahua', + 'Mountain Standard Time (Mexico)': 'America/Mazatlan', 'Myanmar Standard Time': 'Asia/Rangoon', 'N. Central Asia Standard Time': 'Asia/Novosibirsk', 'Namibia Standard Time': 'Africa/Windhoek', @@ -143,10 +143,12 @@ # Old name for the win_tz variable: tz_names = win_tz -tz_win = {'Africa/Abidjan': 'Greenwich Standard Time', +tz_win = {'': 'Central Standard Time (Mexico)', + 'Africa/Abidjan': 'Greenwich Standard Time', 'Africa/Accra': 'Greenwich Standard Time', 'Africa/Addis_Ababa': 'E. Africa Standard Time', 'Africa/Algiers': 'W. Central Africa Standard Time', + 'Africa/Asmara': 'E. Africa Standard Time', 'Africa/Asmera': 'E. Africa Standard Time', 'Africa/Bamako': 'Greenwich Standard Time', 'Africa/Bangui': 'W. Central Africa Standard Time', @@ -210,6 +212,7 @@ 'America/Argentina/Ushuaia': 'Argentina Standard Time', 'America/Aruba': 'SA Western Standard Time', 'America/Asuncion': 'Paraguay Standard Time', + 'America/Atikokan': 'SA Pacific Standard Time', 'America/Atka': 'Aleutian Standard Time', 'America/Bahia': 'Bahia Standard Time', 'America/Bahia_Banderas': 'Central Standard Time (Mexico)', @@ -229,7 +232,8 @@ 'America/Cayenne': 'SA Eastern Standard Time', 'America/Cayman': 'SA Pacific Standard Time', 'America/Chicago': 'Central Standard Time', - 'America/Chihuahua': 'Mountain Standard Time (Mexico)', + 'America/Chihuahua': 'Central Standard Time (Mexico)', + 'America/Ciudad_Juarez': 'Mountain Standard Time', 'America/Coral_Harbour': 'SA Pacific Standard Time', 'America/Cordoba': 'Argentina Standard Time', 'America/Costa_Rica': 'Central America Standard Time', @@ -307,7 +311,7 @@ 'America/North_Dakota/Beulah': 'Central Standard Time', 'America/North_Dakota/Center': 'Central Standard Time', 'America/North_Dakota/New_Salem': 'Central Standard Time', - 'America/Ojinaga': 'Mountain Standard Time', + 'America/Ojinaga': 'Central Standard Time', 'America/Panama': 'SA Pacific Standard Time', 'America/Pangnirtung': 'Eastern Standard Time', 'America/Paramaribo': 'SA Eastern Standard Time', @@ -360,7 +364,7 @@ 'Antarctica/Palmer': 'SA Eastern Standard Time', 'Antarctica/Rothera': 'SA Eastern Standard Time', 'Antarctica/South_Pole': 'New Zealand Standard Time', - 'Antarctica/Syowa': 'E. Africa Standard Time', + 'Antarctica/Syowa': 'Arab Standard Time', 'Antarctica/Vostok': 'Central Asia Standard Time', 'Arctic/Longyearbyen': 'W. Europe Standard Time', 'Asia/Aden': 'Arab Standard Time', @@ -399,6 +403,7 @@ 'Asia/Hong_Kong': 'China Standard Time', 'Asia/Hovd': 'W. Mongolia Standard Time', 'Asia/Irkutsk': 'North Asia East Standard Time', + 'Asia/Istanbul': 'Turkey Standard Time', 'Asia/Jakarta': 'SE Asia Standard Time', 'Asia/Jayapura': 'Tokyo Standard Time', 'Asia/Jerusalem': 'Israel Standard Time', @@ -511,6 +516,7 @@ 'Egypt': 'Egypt Standard Time', 'Eire': 'GMT Standard Time', 'Etc/GMT': 'UTC', + 'Etc/GMT+0': 'UTC', 'Etc/GMT+1': 'Cape Verde Standard Time', 'Etc/GMT+10': 'Hawaiian Standard Time', 'Etc/GMT+11': 'UTC-11', @@ -523,6 +529,7 @@ 'Etc/GMT+7': 'US Mountain Standard Time', 'Etc/GMT+8': 'UTC-08', 'Etc/GMT+9': 'UTC-09', + 'Etc/GMT-0': 'UTC', 'Etc/GMT-1': 'W. Central Africa Standard Time', 'Etc/GMT-10': 'West Pacific Standard Time', 'Etc/GMT-11': 'Central Pacific Standard Time', @@ -537,9 +544,13 @@ 'Etc/GMT-7': 'SE Asia Standard Time', 'Etc/GMT-8': 'Singapore Standard Time', 'Etc/GMT-9': 'Tokyo Standard Time', + 'Etc/GMT0': 'UTC', + 'Etc/Greenwich': 'UTC', 'Etc/UCT': 'UTC', 'Etc/UTC': 'UTC', - 'Europe/Amsterdam': 'W. Europe Standard Time', + 'Etc/Universal': 'UTC', + 'Etc/Zulu': 'UTC', + 'Europe/Amsterdam': 'Romance Standard Time', 'Europe/Andorra': 'W. Europe Standard Time', 'Europe/Astrakhan': 'Astrakhan Standard Time', 'Europe/Athens': 'GTB Standard Time', @@ -552,7 +563,7 @@ 'Europe/Budapest': 'Central Europe Standard Time', 'Europe/Busingen': 'W. Europe Standard Time', 'Europe/Chisinau': 'E. Europe Standard Time', - 'Europe/Copenhagen': 'Romance Standard Time', + 'Europe/Copenhagen': 'W. Europe Standard Time', 'Europe/Dublin': 'GMT Standard Time', 'Europe/Gibraltar': 'W. Europe Standard Time', 'Europe/Guernsey': 'GMT Standard Time', @@ -566,13 +577,14 @@ 'Europe/Lisbon': 'GMT Standard Time', 'Europe/Ljubljana': 'Central Europe Standard Time', 'Europe/London': 'GMT Standard Time', - 'Europe/Luxembourg': 'W. Europe Standard Time', + 'Europe/Luxembourg': 'Romance Standard Time', 'Europe/Madrid': 'Romance Standard Time', 'Europe/Malta': 'W. Europe Standard Time', 'Europe/Mariehamn': 'FLE Standard Time', 'Europe/Minsk': 'Belarus Standard Time', - 'Europe/Monaco': 'W. Europe Standard Time', + 'Europe/Monaco': 'Romance Standard Time', 'Europe/Moscow': 'Russian Standard Time', + 'Europe/Nicosia': 'GTB Standard Time', 'Europe/Oslo': 'W. Europe Standard Time', 'Europe/Paris': 'Romance Standard Time', 'Europe/Podgorica': 'Central Europe Standard Time', @@ -581,10 +593,10 @@ 'Europe/Rome': 'W. Europe Standard Time', 'Europe/Samara': 'Russia Time Zone 3', 'Europe/San_Marino': 'W. Europe Standard Time', - 'Europe/Sarajevo': 'Central European Standard Time', + 'Europe/Sarajevo': 'Central Europe Standard Time', 'Europe/Saratov': 'Saratov Standard Time', 'Europe/Simferopol': 'Russian Standard Time', - 'Europe/Skopje': 'Central European Standard Time', + 'Europe/Skopje': 'Central Europe Standard Time', 'Europe/Sofia': 'FLE Standard Time', 'Europe/Stockholm': 'W. Europe Standard Time', 'Europe/Tallinn': 'FLE Standard Time', @@ -598,7 +610,7 @@ 'Europe/Vilnius': 'FLE Standard Time', 'Europe/Volgograd': 'Volgograd Standard Time', 'Europe/Warsaw': 'Central European Standard Time', - 'Europe/Zagreb': 'Central European Standard Time', + 'Europe/Zagreb': 'Central Europe Standard Time', 'Europe/Zaporozhye': 'FLE Standard Time', 'Europe/Zurich': 'W. Europe Standard Time', 'GB': 'GMT Standard Time', @@ -615,11 +627,11 @@ 'Indian/Cocos': 'Myanmar Standard Time', 'Indian/Comoro': 'E. Africa Standard Time', 'Indian/Kerguelen': 'West Asia Standard Time', - 'Indian/Mahe': 'Mauritius Standard Time', + 'Indian/Mahe': 'Arabian Standard Time', 'Indian/Maldives': 'West Asia Standard Time', 'Indian/Mauritius': 'Mauritius Standard Time', 'Indian/Mayotte': 'E. Africa Standard Time', - 'Indian/Reunion': 'Mauritius Standard Time', + 'Indian/Reunion': 'Arabian Standard Time', 'Iran': 'Iran Standard Time', 'Israel': 'Israel Standard Time', 'Jamaica': 'SA Pacific Standard Time', @@ -639,6 +651,7 @@ 'Pacific/Auckland': 'New Zealand Standard Time', 'Pacific/Bougainville': 'Bougainville Standard Time', 'Pacific/Chatham': 'Chatham Islands Standard Time', + 'Pacific/Chuuk': 'West Pacific Standard Time', 'Pacific/Easter': 'Easter Island Standard Time', 'Pacific/Efate': 'Central Pacific Standard Time', 'Pacific/Enderbury': 'UTC+13', @@ -664,6 +677,7 @@ 'Pacific/Pago_Pago': 'UTC-11', 'Pacific/Palau': 'Tokyo Standard Time', 'Pacific/Pitcairn': 'UTC-08', + 'Pacific/Pohnpei': 'Central Pacific Standard Time', 'Pacific/Ponape': 'Central Pacific Standard Time', 'Pacific/Port_Moresby': 'West Pacific Standard Time', 'Pacific/Rarotonga': 'Hawaiian Standard Time', @@ -675,6 +689,7 @@ 'Pacific/Truk': 'West Pacific Standard Time', 'Pacific/Wake': 'UTC+12', 'Pacific/Wallis': 'UTC+12', + 'Pacific/Yap': 'West Pacific Standard Time', 'Poland': 'Central European Standard Time', 'Portugal': 'GMT Standard Time', 'ROC': 'Taipei Standard Time',