r3to/swift-duration
An ISO 8601 Duration parser for Swift. Inspired by the [Luxon](https://moment.github.io/luxon) [Duration](https://moment.github.io/luxon/#/tour?id=durations) object.
Features
- 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.
Usage
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.dateComponentsInstallation
The 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/swift-duration.git", .upToNextMajor(from: "1.0.0"))
]Package Metadata
Repository: r3to/swift-duration
Default branch: main
README: README.md