Build

CalendarDate

CalendarDate 是为 Swift 构建的日历日期处理库,基于 DateComponents。它提供了值对象,用于表示不直接绑定到特定 UTC 偏移量或时区的日期和时间。 当 处理未来事件时,这非常有用,例如在事件和约会安排应用中。

CalendarDate 提供了以下值类型:

如何使用

您可以直接初始化一个 CalendarDateTime 值,并在需要向用户显示时将其转换为 Swift 的 Date

let meetingDate = CalendarDateTime(year: 2020, month: 4, day: 1, hour: 10, minute: 30)
let meetingTimezone = TimeZone(identifier: "America/New_York")

let date = meetingDate.asDate(timezone: meetingTimezone!)

let formatter = DateFormatter()
formatter.dateStyle = .long
formatter.timeStyle = .long
formatter.timeZone = TimeZone(identifier: "America/New_York") // Or .current

formatter.string(from: date) // -> "April 1, 2020 at 10:30:00 AM EDT"

Codable

此库提供的所有值类型都符合 Codable 协议。

值类型 Codable 格式
CalendarTime hh:mm:ss
CalendarDate CalendarDate
YYYY-MM-DD CalendarDateTime

推荐阅读