123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326 |
- Metadata-Version: 2.1
- Name: tzlocal
- Version: 2.1
- Summary: tzinfo object for the local timezone
- Home-page: https://github.com/regebro/tzlocal
- Author: Lennart Regebro
- Author-email: regebro@gmail.com
- License: MIT
- Keywords: timezone pytz
- Platform: UNKNOWN
- Classifier: Development Status :: 5 - Production/Stable
- Classifier: License :: OSI Approved :: MIT License
- Classifier: Operating System :: Microsoft :: Windows
- Classifier: Operating System :: Unix
- Classifier: Operating System :: MacOS :: MacOS X
- Classifier: Programming Language :: Python :: 2.7
- Classifier: Programming Language :: Python :: 3
- Classifier: Programming Language :: Python :: 3.6
- Classifier: Programming Language :: Python :: 3.7
- Classifier: Programming Language :: Python :: 3.8
- Requires-Dist: pytz
- tzlocal
- =======
- This Python module returns a ``tzinfo`` object with the local timezone information under Unix and Win-32.
- It requires ``pytz``, and returns ``pytz`` ``tzinfo`` objects.
- This module attempts to fix a glaring hole in ``pytz``, that there is no way to
- get the local timezone information, unless you know the zoneinfo name, and
- under several Linux distros that's hard or impossible to figure out.
- Also, with Windows different timezone system using pytz isn't of much use
- unless you separately configure the zoneinfo timezone name.
- With ``tzlocal`` you only need to call ``get_localzone()`` and you will get a
- ``tzinfo`` object with the local time zone info. On some Unices you will still
- not get to know what the timezone name is, but you don't need that when you
- have the tzinfo file. However, if the timezone name is readily available it
- will be used.
- Supported systems
- -----------------
- These are the systems that are in theory supported:
- * Windows 2000 and later
- * Any unix-like system with a ``/etc/localtime`` or ``/usr/local/etc/localtime``
- If you have one of the above systems and it does not work, it's a bug.
- Please report it.
- Please note that if you getting a time zone called ``local``, this is not a bug, it's
- actually the main feature of ``tzlocal``, that even if your system does NOT have a configuration file
- with the zoneinfo name of your time zone, it will still work.
- You can also use ``tzlocal`` to get the name of your local timezone, but only if your system is
- configured to make that possible. ``tzlocal`` looks for the timezone name in ``/etc/timezone``, ``/var/db/zoneinfo``,
- ``/etc/sysconfig/clock`` and ``/etc/conf.d/clock``. If your ``/etc/localtime`` is a symlink it can also extract the
- name from that symlink.
- If you need the name of your local time zone, then please make sure your system is properly configured to allow that.
- If it isn't configured, tzlocal will default to UTC.
- Usage
- -----
- Load the local timezone:
- >>> from tzlocal import get_localzone
- >>> tz = get_localzone()
- >>> tz
- <DstTzInfo 'Europe/Warsaw' WMT+1:24:00 STD>
- Create a local datetime:
- >>> from datetime import datetime
- >>> dt = tz.localize(datetime(2015, 4, 10, 7, 22))
- >>> dt
- datetime.datetime(2015, 4, 10, 7, 22, tzinfo=<DstTzInfo 'Europe/Warsaw' CEST+2:00:00 DST>)
- Lookup another timezone with `pytz`:
- >>> import pytz
- >>> eastern = pytz.timezone('US/Eastern')
- Convert the datetime:
- >>> dt.astimezone(eastern)
- datetime.datetime(2015, 4, 10, 1, 22, tzinfo=<DstTzInfo 'US/Eastern' EDT-1 day, 20:00:00 DST>)
- Maintainer
- ----------
- * Lennart Regebro, regebro@gmail.com
- Contributors
- ------------
- * Marc Van Olmen
- * Benjamen Meyer
- * Manuel Ebert
- * Xiaokun Zhu
- * Cameris
- * Edward Betts
- * McK KIM
- * Cris Ewing
- * Ayala Shachar
- * Lev Maximov
- * Jakub Wilk
- * John Quarles
- * Preston Landers
- * Victor Torres
- * Jean Jordaan
- * Zackary Welch
- * Mickaël Schoentgen
- * Gabriel Corona
- (Sorry if I forgot someone)
- License
- -------
- * MIT https://opensource.org/licenses/MIT
- Changes
- =======
- 2.1 (2020-05-08)
- ----------------
- - No changes.
- 2.1b1 (2020-02-08)
- ------------------
- - The is_dst flag is wrong for Europe/Dublin on some Unix releases.
- I changed to another way of determining if DST is in effect or not.
- - Added support for Python 3.7 and 3.8. Dropped 3.5 although it still works.
- 2.0.0 (2019-07-23)
- ------------------
- - No differences since 2.0.0b3
- Major differences since 1.5.1
- .............................
- - When no time zone configuration can be find, tzlocal now return UTC.
- This is a major difference from 1.x, where an exception would be raised.
- This change is because Docker images often have no configuration at all,
- and the unix utilities will then default to UTC, so we follow that.
- - If tzlocal on Unix finds a timezone name in a /etc config file, then
- tzlocal now verifies that the timezone it fouds has the same offset as
- the local computer is configured with. If it doesn't, something is
- configured incorrectly. (Victor Torres, regebro)
- - Get timezone via Termux `getprop` wrapper on Android. It's not officially
- supported because we can't test it, but at least we make an effort.
- (Jean Jordaan)
- Minor differences and bug fixes
- ...............................
- - Skip comment lines when parsing /etc/timezone. (Edward Betts)
- - Don't load timezone from current directory. (Gabriel Corona)
- - Now verifies that the config files actually contain something before
- reading them. (Zackary Welch, regebro)
- - Got rid of a BytesWarning (Mickaël Schoentgen)
- - Now handles if config file paths exists, but are directories.
- - Moved tests out from distributions
- - Support wheels
- 1.5.1 (2017-12-01)
- ------------------
- - 1.5 had a bug that slipped through testing, fixed that,
- increased test coverage.
- 1.5 (2017-11-30)
- ----------------
- - No longer treats macOS as special, but as a unix.
- - get_windows_info.py is renamed to update_windows_mappings.py
- - Windows mappings now also contain mappings from deprecated zoneinfo names.
- (Preston-Landers, regebro)
- 1.4 (2017-04-18)
- ----------------
- - I use MIT on my other projects, so relicensing.
- 1.4b1 (2017-04-14)
- ------------------
- - Dropping support for Python versions nobody uses (2.5, 3.1, 3.2), adding 3.6
- Python 3.1 and 3.2 still works, 2.5 has been broken for some time.
- - Ayalash's OS X fix didn't work on Python 2.7, fixed that.
- 1.3.2 (2017-04-12)
- ------------------
- - Ensure closing of subprocess on OS X (ayalash)
- - Removed unused imports (jwilk)
- - Closes stdout and stderr to get rid of ResourceWarnings (johnwquarles)
- - Updated Windows timezones (axil)
- 1.3 (2016-10-15)
- ----------------
- - #34: Added support for /var/db/zoneinfo
- 1.2.2 (2016-03-02)
- ------------------
- - #30: Fixed a bug on OS X.
- 1.2.1 (2016-02-28)
- ------------------
- - Tests failed if TZ was set in the environment. (EdwardBetts)
- - Replaces os.popen() with subprocess.Popen() for OS X to
- handle when systemsetup doesn't exist. (mckabi, cewing)
- 1.2 (2015-06-14)
- ----------------
- - Systemd stores no time zone name, forcing us to look at the name of the file
- that localtime symlinks to. (cameris)
- 1.1.2 (2014-10-18)
- ------------------
- - Timezones that has 3 items did not work on Mac OS X.
- (Marc Van Olmen)
- - Now doesn't fail if the TZ environment variable isn't an Olsen time zone.
- - Some timezones on Windows can apparently be empty (perhaps the are deleted).
- Now these are ignored.
- (Xiaokun Zhu)
- 1.1.1 (2014-01-29)
- ------------------
- - I forgot to add Etc/UTC as an alias for Etc/GMT.
- 1.1 (2014-01-28)
- ----------------
- - Adding better support for OS X.
- - Added support to map from tzdata/Olsen names to Windows names.
- (Thanks to Benjamen Meyer).
- 1.0 (2013-05-29)
- ----------------
- - Fixed some more cases where spaces needs replacing with underscores.
- - Better handling of misconfigured /etc/timezone.
- - Better error message on Windows if we can't find a timezone at all.
- 0.3 (2012-09-13)
- ----------------
- - Windows 7 support.
- - Python 2.5 supported; because it only needed a __future__ import.
- - Python 3.3 tested, it worked.
- - Got rid of relative imports, because I don't actually like them,
- so I don't know why I used them in the first place.
- - For each Windows zone, use the default zoneinfo zone, not the last one.
- 0.2 (2012-09-12)
- ----------------
- - Python 3 support.
- 0.1 (2012-09-11)
- ----------------
- - Initial release.
|