从日期中提取所有日期成分

Kqt*_*qtr 2 objective-c nsdate nsdatecomponents ios swift

(令我惊讶的是,我找不到任何地方都可以问这个问题,听起来很基本。我可能会遗漏一些东西...)

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

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

Dáv*_*tor 5

您可以Calendar.dateComponents(in:,from:)用来实现目标。这样,您只需要提供TimeZone和就可以DateComponents从一个Date对象中提取所有内容。

let components = Calendar.current.dateComponents(in: TimeZone.current, from: Date())
Run Code Online (Sandbox Code Playgroud)