micktwomey / pyiso8601

ISO8601 formatted datetime parser for python
MIT License
34 stars 13 forks source link

Simple module to parse ISO 8601 dates

pip install iso8601

Documentation: https://pyiso8601.readthedocs.org/

PyPI: https://pypi.org/project/iso8601/

Source: https://github.com/micktwomey/pyiso8601

This module parses the most common forms of ISO 8601 date strings (e.g. 2007-01-14T20:34:22+00:00) into datetime objects.

import iso8601 iso8601.parse_date("2007-01-25T12:00:00Z") datetime.datetime(2007, 1, 25, 12, 0, tzinfo=)

See the LICENSE file for the license this package is released under.

If you want more full featured parsing look at:

Parsed Formats

You can parse full date + times, or just the date. In both cases a datetime instance is returned but with missing times defaulting to 0, and missing days / months defaulting to 1.

Dates

Times

Time Zones

Where it Differs From ISO 8601

Known differences from the ISO 8601 spec:

References

Testing

  1. poetry install
  2. poetry run nox

Note that you need all the pythons installed to perform a tox run (see below). pyenv helps hugely, use pyenv install for the versions you need then use 'pyenv local version ...' to link them in (the tox-pyenv plugin will pick them up).

Alternatively, to test only with your current python:

  1. poetry install
  2. pytest

Releasing

  1. just prepare-release
  2. just do-release

Supported Python Versions

Tested against:

Python 3 versions < 3.7 are untested but should work.

Changes

See CHANGELOG.md <https://github.com/micktwomey/pyiso8601/blob/main/CHANGELOG.md>_.