从日期中提取所有日期组件
Extract all date components from a Date
(我很惊讶我在任何地方都找不到这个问题,听起来很基础。我可能遗漏了什么...)
有没有一种方法可以创建一个与 Date/NSDate 对象(日期、时间、日历、时区)完全匹配的 DateComponents() 对象,而不必指定我们想要的所有组件包括?
具体用例示例:UNCalendarNotificationTrigger init 方法将 DateComponents 作为参数,我们希望将该通知设置为特定的日期和时间,并保存为Date/NSDate 个对象,因此我们需要提取其 dateComponents。
您可以使用 Calendar.dateComponents(in:,from:)
来实现您的目标。这样你只需要提供 TimeZone
就可以从 Date
对象中提取所有 DateComponents
。
let components = Calendar.current.dateComponents(in: TimeZone.current, from: Date())
(我很惊讶我在任何地方都找不到这个问题,听起来很基础。我可能遗漏了什么...)
有没有一种方法可以创建一个与 Date/NSDate 对象(日期、时间、日历、时区)完全匹配的 DateComponents() 对象,而不必指定我们想要的所有组件包括?
具体用例示例:UNCalendarNotificationTrigger init 方法将 DateComponents 作为参数,我们希望将该通知设置为特定的日期和时间,并保存为Date/NSDate 个对象,因此我们需要提取其 dateComponents。
您可以使用 Calendar.dateComponents(in:,from:)
来实现您的目标。这样你只需要提供 TimeZone
就可以从 Date
对象中提取所有 DateComponents
。
let components = Calendar.current.dateComponents(in: TimeZone.current, from: Date())