Time is a Swift package that makes it easy to perform robust and type-safe date and time calculations.

Working with calendars can be extremely complicated and error-prone. Time solves these problems by clarifying concepts and restricting improper usage through type-safe APIs.

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.

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 using Clocks.system.

  • RegionalClock tells you the current time. For example, .today will give you the current calendar day. .currentMinute will 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.hours will 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 and included examples.

GitHub


View Github

#calendar #calendars #date #date-formatting #date-time #datetime #swift #time #timezone
YOU MIGHT ALSO LIKE...
SwiftSpeech

Recognize your user's voice elegantly without having to figure out authorization and audio engines. SwiftSpeech Examples Features Installation Getting Started ...

SwiftUIValueSlider

Example To run the example project, clone the repo, and run pod install from the Example directory first. Requirements iOS 14.0 Installation ...

Sliders

Sliders is a compilation of all my stylable drag based SwiftUI components. It provides a variety of unique controls as well ...

SlidingRuler

SlidingRuler is a Swift package containing a SwiftUI control that acts like an linear infinite slider or a finite, more precise ...

Skeletonui

SkeletonUI aims to bring an elegant, declarative syntax to skeleton loading animations. Get rid of loading screens or spinners and ...