如何在 SwiftUI 中将 Date 转换为 DateComponents?
How do I convert Date into DateComponents in SwiftUI?
我想在用户从 DatePicker 中选择时设置每日通知,但我不知道如何将选定的小时和分钟转换为 DateComponents 以匹配 UNCalendarNotificationTrigger。
这是我的日期选择器:
DatePicker("Choose time of notif", selection: $notifTime, displayedComponents: .hourAndMinute)
这是我的通知触发器:
var dateComponents = DateComponents()
dateComponents = notifTime
let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: true)
您只需使用 Calendar
API 从 date
属性 获取 dateComponents
,这需要重复。因此,在这种情况下,小时和分钟每天都会重复,所以您可以这样做:
var notifTime: Date
let dateComponents = Calendar.current.dateComponents([.hour, .minute], from: notifTime)
let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: true)
我想在用户从 DatePicker 中选择时设置每日通知,但我不知道如何将选定的小时和分钟转换为 DateComponents 以匹配 UNCalendarNotificationTrigger。
这是我的日期选择器:
DatePicker("Choose time of notif", selection: $notifTime, displayedComponents: .hourAndMinute)
这是我的通知触发器:
var dateComponents = DateComponents()
dateComponents = notifTime
let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: true)
您只需使用 Calendar
API 从 date
属性 获取 dateComponents
,这需要重复。因此,在这种情况下,小时和分钟每天都会重复,所以您可以这样做:
var notifTime: Date
let dateComponents = Calendar.current.dateComponents([.hour, .minute], from: notifTime)
let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: true)