isoduration

20.11.0 · maintenance · verified Sat Mar 28

isoduration is a Python library for working with ISO 8601 durations (e.g., 'P3Y6M4DT12H30M5S'). It provides functionality for parsing duration strings, formatting durations, and performing arithmetic operations with Python's `datetime` objects. The library is currently at version 20.11.0, released in 2020, and appears to be in maintenance mode with no recent major releases, though minor updates or repackaging may occur.

Warnings

Install

Imports

Quickstart

This quickstart demonstrates parsing an ISO 8601 duration string into a `Duration` object, accessing its components, and performing arithmetic by adding it to a `datetime` object.

from datetime import datetime
from isoduration import parse_duration

# Parse an ISO 8601 duration string
duration_str = "P3Y6M4DT12H30M5S"
duration = parse_duration(duration_str)

print(f"Parsed duration: {duration}")
print(f"Years: {duration.date.years}, Months: {duration.date.months}")
print(f"Hours: {duration.time.hours}, Seconds: {duration.time.seconds}")

# Add the duration to a datetime object
start_time = datetime(2023, 1, 1, 10, 0, 0)
end_time = start_time + duration
print(f"Start time: {start_time}")
print(f"End time after adding duration: {end_time}")

# Negate a duration
negative_duration = -duration
print(f"Negative duration: {negative_duration}")

view raw JSON →