Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dateutil/dateutil
Useful extensions to the standard Python datetime features
https://github.com/dateutil/dateutil
datetime library parsing python time timezones
Last synced: 1 day ago
JSON representation
Useful extensions to the standard Python datetime features
- Host: GitHub
- URL: https://github.com/dateutil/dateutil
- Owner: dateutil
- License: other
- Created: 2014-11-19T18:56:16.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2024-08-13T12:19:36.000Z (5 months ago)
- Last Synced: 2024-10-29T15:52:18.729Z (3 months ago)
- Topics: datetime, library, parsing, python, time, timezones
- Language: Python
- Size: 5.69 MB
- Stars: 2,358
- Watchers: 47
- Forks: 489
- Open Issues: 386
-
Metadata Files:
- Readme: README.rst
- Changelog: NEWS
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Authors: AUTHORS.md
Awesome Lists containing this project
- awesome-time-series - dateutil - Extensions to the standard Python [datetime](https://docs.python.org/3/library/datetime.html) module. (📦 Packages / Python)
- awesome-python-resources - GitHub - 39% open · ⏱️ 18.04.2022): (日期和时间)
- awesome-list - dateutil - The dateutil module provides powerful extensions to the standard datetime module, available in Python. (Data Format & I/O / For Python)
- awesome-made-by-brazilians - dateutil
- starred-awesome - dateutil - Useful extensions to the standard Python datetime features (Python)
- best-of-python - GitHub - 45% open · ⏱️ 20.05.2024): (Date & Time Utilities)
README
dateutil - powerful extensions to datetime
==========================================|pypi| |support| |licence|
|gitter| |readthedocs|
|appveyor| |gha| |coverage|
.. |pypi| image:: https://img.shields.io/pypi/v/python-dateutil.svg?style=flat-square
:target: https://pypi.org/project/python-dateutil/
:alt: pypi version.. |support| image:: https://img.shields.io/pypi/pyversions/python-dateutil.svg?style=flat-square
:target: https://pypi.org/project/python-dateutil/
:alt: supported Python version.. |appveyor| image:: https://img.shields.io/appveyor/ci/dateutil/dateutil/master.svg?style=flat-square&logo=appveyor
:target: https://ci.appveyor.com/project/dateutil/dateutil
:alt: appveyor build status.. |gha| image:: https://github.com/dateutil/dateutil/actions/workflows/validate.yml/badge.svg
:target: https://github.com/dateutil/dateutil/actions
:alt: github actions build status.. |coverage| image:: https://codecov.io/gh/dateutil/dateutil/branch/master/graphs/badge.svg?branch=master
:target: https://codecov.io/gh/dateutil/dateutil?branch=master
:alt: Code coverage.. |gitter| image:: https://badges.gitter.im/dateutil/dateutil.svg
:alt: Join the chat at https://gitter.im/dateutil/dateutil
:target: https://gitter.im/dateutil/dateutil.. |licence| image:: https://img.shields.io/pypi/l/python-dateutil.svg?style=flat-square
:target: https://pypi.org/project/python-dateutil/
:alt: licence.. |readthedocs| image:: https://img.shields.io/readthedocs/dateutil/latest.svg?style=flat-square&label=Read%20the%20Docs
:alt: Read the documentation at https://dateutil.readthedocs.io/en/latest/
:target: https://dateutil.readthedocs.io/en/latest/The `dateutil` module provides powerful extensions to
the standard `datetime` module, available in Python.Installation
============
`dateutil` can be installed from PyPI using `pip` (note that the package name is
different from the importable name)::pip install python-dateutil
Download
========
dateutil is available on PyPI
https://pypi.org/project/python-dateutil/The documentation is hosted at:
https://dateutil.readthedocs.io/en/stable/Code
====
The code and issue tracker are hosted on GitHub:
https://github.com/dateutil/dateutil/Features
========* Computing of relative deltas (next month, next year,
next Monday, last week of month, etc);
* Computing of relative deltas between two given
date and/or datetime objects;
* Computing of dates based on very flexible recurrence rules,
using a superset of the `iCalendar `_
specification. Parsing of RFC strings is supported as well.
* Generic parsing of dates in almost any string format;
* Timezone (tzinfo) implementations for tzfile(5) format
files (/etc/localtime, /usr/share/zoneinfo, etc), TZ
environment string (in all known formats), iCalendar
format files, given ranges (with help from relative deltas),
local machine timezone, fixed offset timezone, UTC timezone,
and Windows registry-based time zones.
* Internal up-to-date world timezone information based on
Olson's database.
* Computing of Easter Sunday dates for any given year,
using Western, Orthodox or Julian algorithms;
* A comprehensive test suite.Quick example
=============
Here's a snapshot, just to give an idea about the power of the
package. For more examples, look at the documentation.Suppose you want to know how much time is left, in
years/months/days/etc, before the next easter happening on a
year with a Friday 13th in August, and you want to get today's
date out of the "date" unix system command. Here is the code:.. doctest:: readmeexample
>>> from dateutil.relativedelta import *
>>> from dateutil.easter import *
>>> from dateutil.rrule import *
>>> from dateutil.parser import *
>>> from datetime import *
>>> now = parse("Sat Oct 11 17:13:46 UTC 2003")
>>> today = now.date()
>>> year = rrule(YEARLY,dtstart=now,bymonth=8,bymonthday=13,byweekday=FR)[0].year
>>> rdelta = relativedelta(easter(year), today)
>>> print("Today is: %s" % today)
Today is: 2003-10-11
>>> print("Year with next Aug 13th on a Friday is: %s" % year)
Year with next Aug 13th on a Friday is: 2004
>>> print("How far is the Easter of that year: %s" % rdelta)
How far is the Easter of that year: relativedelta(months=+6)
>>> print("And the Easter of that year is: %s" % (today+rdelta))
And the Easter of that year is: 2004-04-11Being exactly 6 months ahead was **really** a coincidence :)
Contributing
============We welcome many types of contributions - bug reports, pull requests (code, infrastructure or documentation fixes). For more information about how to contribute to the project, see the ``CONTRIBUTING.md`` file in the repository.
Author
======
The dateutil module was written by Gustavo Niemeyer
in 2003.It is maintained by:
* Gustavo Niemeyer 2003-2011
* Tomi Pieviläinen 2012-2014
* Yaron de Leeuw 2014-2016
* Paul Ganssle 2015-Starting with version 2.4.1 and running until 2.8.2, all source and binary
distributions will be signed by a PGP key that has, at the very least, been
signed by the key which made the previous release. A table of release signing
keys can be found below:=========== ============================
Releases Signing key fingerprint
=========== ============================
2.4.1-2.8.2 `6B49 ACBA DCF6 BD1C A206 67AB CD54 FCE3 D964 BEFB`_
=========== ============================New releases *may* have signed tags, but binary and source distributions
uploaded to PyPI will no longer have GPG signatures attached.Contact
=======
Our mailing list is available at `[email protected] `_. As it is hosted by the PSF, it is subject to the `PSF code of
conduct `_.License
=======All contributions after December 1, 2017 released under dual license - either `Apache 2.0 License `_ or the `BSD 3-Clause License `_. Contributions before December 1, 2017 - except those those explicitly relicensed - are released only under the BSD 3-Clause License.
.. _6B49 ACBA DCF6 BD1C A206 67AB CD54 FCE3 D964 BEFB:
https://pgp.mit.edu/pks/lookup?op=vindex&search=0xCD54FCE3D964BEFB