PySO8601 aims to be a better Python module to parse ISO 8601 dates. It is inspired by the iso8601 currently available in the pypi repository, however this module is designed to accept any valid ISO8601 formatted string:
- Date including Week Dates (eg.
2011-W12-6
) and Ordinal Dates (eg.2012-003
) - Time including Time zone designations
- Combined Date & Time
- Durations
- Intervals
Truncated representations (YYYYMM
, YYMMDD
, hhmmss
, etc) are also accepted.
import PySO8601 spam = PySO8601.parse('2011-01-01T14:32') print spam # prints: 2011-01-01 14:32:00 eggs = PySO8601.parse('2010W052') # Week 5, day 2 print eggs # prints: 2010-02-01 00:00:00
For full examples on usage please review the specs in the source.
- Durations:
- Due to the difficult nature of working with calendars, for the moment years specified in the duration format are set to 365 days and months are set to 30 days. This will hopefully be addressed in the near future.