Wrangling Dates & Time in iOS
Understanding the deep technical details how dates and time work in iOS is immensely helpful for developing apps—every single day, month, and year! Learn the foundational structures behind working with dates and time in iOS. Then, apply your date modeling to SwiftUI views. By Jessy Catterwaul.
Who is this for?
This course is designed to clear up common confusion points when working with dates and time in the iOS ecosystem. It will be most useful as a reference if you’re already an experienced iOS developer, but feel free to learn along, if you find it helpful, even as a new developer to the platform. Being very familiar with with Swift and SwiftUI will assist you.
Covered concepts
- Foundation
- Date
- DateComponents
- Calendar
- FormatStyle
- ParseStrategy
- ISO 8601
- TimeInterval
- DatePicker
Part 1: Wrangling Dates & Time in iOS
TimeInterval is a type alias for Double with a specific meaning: it’s a number of seconds, which is permitted to have a fractional component.
A Date is a specific point in time, independent of any calendar or time zone, that is stored as a number of seconds from a reference.
DateComponents are specified in terms of units (e.g. year, month, day, hour, and minute), and are evaluated using a calendar and time zone.
Foundation’s Calendar wraps absolute points in time in systems which provide features for calculation and comparison of dates.
Calendars employ an enumeration for the various components of their dates, and lists of localized symbol Strings.
Locales provide information about linguistic, cultural, and technological conventions for use in formatting data for presentation.
Date’s ParseStrategy type utilizes Format Strings to represent how the dates you’re receiving are formed via textual representations.
ISO 8601 is a widely-used standard for date representation. It’s a human-readable string, but as accurate as a TimeInterval instance.
DatePicker is the SwiftUI view which corresponds with everything you’ve learned in this course so far, allowing the user to select a Date.
GraphicalDatePickerStyle is used to allow browsing through days in a calendar. If you want a clock, this is the style you need.