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
Codable
protocol. - Works with negative durations.
- Create a
DateComponents
object fromDuration
. - Extensions for
Calendar
to useDuration
likeDateComponents
.
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 // 48
Get a DateComponents
object from duration.
let dateComponents = duration.dateComponents
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"))
]