davedelong/time
Robust and type-safe date and time calculations for Swift
Installing
Time can be installed like any other Swift package. Add this to the dependencies section of your Package.swift:
.package(url: "https://github.com/davedelong/time", from: "1.0.0")Platform Support
Time requires Swift 5.7 or later, as well as macOS 13/iOS 16 (or equivalent) or later. Core parts of the library are built on Swift's Duration type, which was introduced in macOS 13/iOS 16.
Documentation
Time's extensive documentation is hosted at the [Swift Package Index][spi].
Additionally, an "Examples" folder in this repository contains code illustrating how to use core parts of the library.
The Basics
Here's the TL;DR of the documentation:
- If you want to know what time it is, you need the device's
RegionalClock, which you get by usingClocks.system.
- A
RegionalClocktells you the current time. For example,.todaywill give you the current calendar day..currentMinutewill give you the current time, accurate down to the minute level.
- Each of these returned values has methods to retrieve more- and less- precise values. For example,
today.hourswill give you a sequence of all the "Hour" values in the day.
- These values can be formatted into human-readable strings via their
.format(...)methods.
For additional information, refer to [the documentation][spi] and included examples.
Contributing
Time is fully open source, available at [https://github.com/davedelong/time][gh]. If you have feature requests, suggestions, or have discovered a bug, please open a [new issue][ghi].
[spi]: https://swiftpackageindex.com/davedelong/time [gh]: https://github.com/davedelong/time [ghi]: https://github.com/davedelong/time/issues
License
Time is licensed under the MIT License. For more information, see the LICENSE file.
Package Metadata
Repository: davedelong/time
Stars: 2344
Forks: 81
Open issues: 12
Default branch: main
Primary language: swift
License: MIT
Topics: calendar, calendar-api, calendars, date, date-formatting, date-time, dates, datetime, swift, swift-library, time, timezone
README: README.md