Ios 从日期中提取所有日期组件

Ios 从日期中提取所有日期组件,ios,objective-c,swift,nsdate,nsdatecomponents,Ios,Objective C,Swift,Nsdate,Nsdatecomponents,(我很惊讶我在任何地方都找不到这个问题,听起来很基本。我可能遗漏了什么…) 有没有一种方法可以创建与日期/NSDate对象(日期、时间、日历、时区)完全匹配的DateComponents()对象,而不必指定要包含的所有组件? 一个具体用例的示例:UNCalendarNotificationTrigger init方法将DateComponents作为参数,我们希望将该通知设置为作为date/NSDate对象保留的特定日期和时间,因此需要提取其DateComponents。您可以使用Calenda

(我很惊讶我在任何地方都找不到这个问题,听起来很基本。我可能遗漏了什么…)

有没有一种方法可以创建与日期/NSDate对象(日期、时间、日历、时区)完全匹配的DateComponents()对象,而不必指定要包含的所有组件?


一个具体用例的示例:UNCalendarNotificationTrigger init方法将DateComponents作为参数,我们希望将该通知设置为作为date/NSDate对象保留的特定日期和时间,因此需要提取其DateComponents。

您可以使用
Calendar.DateComponents(in:,from:)
以实现您的目标。这样,您只需提供
时区
,就可以从
日期
对象中提取所有
日期组件

let components = Calendar.current.dateComponents(in: TimeZone.current, from: Date())

神奇的达维德,我见过这种方法,无论出于什么原因,我都不记得了,我怀疑这种方法是否能满足需要。非常感谢。