An ISO 8601 Duration parser for Swift. Inspired by the Luxon duration object.
- Parses ISO 8601 formatted duration strings (e.g. "P1D" or "PT1H15M").
- Supports
Codableprotocol. - Works with negative durations.
- Create a
DateComponentsobject fromDuration. - Extensions for
Calendarto useDurationlikeDateComponents.
Create a duration from an ISO 8601 string.
let duration = Duration(fromISO: "P2Y4M12DT5H34M48S")
// Duration contains the parsed values
duration.year // 2
duration.month // 4
duration.day // 12
duration.hour // 5
duration.minute // 34
duration.second // 48Get a DateComponents object from duration.
let dateComponents = duration.dateComponentsThe Swift Package Manager is a tool for managing the distribution of Swift Code. It's integrated into the swift compiler.
To use Duration in your project, simply add this Package as dependency:
dependencies: [
.package(url: "https://github.com/longinius/duration.git", .upToNextMajor(from: "1.0.0"))
]