Duration

1.0.0

An ISO 8601 Duration parser for Swift.
longinius/swift-duration

What's New

1.0.0

2022-02-01T18:27:43Z

Duration 1.0 is the first release. It adds the basic elements.

Features

  • Add Duration class and internal Parser for duration strings.

Swift ISO 8601 Duration

An ISO 8601 Duration parser for Swift. Inspired by the Luxon duration object.

Features

  • Parses ISO 8601 formatted duration strings (e.g. "P1D" or "PT1H15M").
  • Supports Codable protocol.
  • Works with negative durations.
  • Create a DateComponents object from Duration.
  • Extensions for Calendar to use Duration like DateComponents.

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 // 48

Get a DateComponents object from duration.

let dateComponents = duration.dateComponents

Installation

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/duration.git", .upToNextMajor(from: "1.0.0"))
]

Description

  • Swift Tools 5.5.0
View More Packages from this Author

Dependencies

  • None
Last updated: Fri May 16 2025 03:36:22 GMT-0900 (Hawaii-Aleutian Daylight Time)