如何在Swift中分离NSDate()的日期和时间组件?

ddrv8njm  于 2023-01-08  发布在  Swift
关注(0)|答案(2)|浏览(133)

有人能告诉我如何在Swift中分离NSDate()的日期和时间组件吗?我看到了一些关于将日期本身分离成组件(日、月、年)的东西,但没有真正了解如何仅获得时间或仅获得日、月、年。
基本上,我尝试按日期过滤表中的数据,但同时也要显示条目的创建时间。我尝试使用普通的ol' NSDate(),但过滤不起作用,因为仅按今天的日期过滤不会产生结果,因为这些条目的创建时间总是小于当前时间。

deyfvvtc

deyfvvtc1#

您需要使用Calendar来拆分日期,使用CalendarUnit来指定所需的组件。

let calendar = Calendar.current
let components = calendar.dateComponents([.month, .day, .year, .hour, .minute], from: Date())
print("Hour: \(components.hour)")
print("Minute: \(components.minute)")
print("Day: \(components.day)")
print("Month: \(components.month)")
print("Year: \(components.year)")
byqmnocz

byqmnocz2#

斯威夫特5 Xcode 14.2

let myDate = .... // you date here

let cal = Calendar.current
let required : Set<Calendar.Component> = [.year, .month, .day, .hour, .minute, .second]
let components : DateComponents = cal.dateComponents(required, from: myDate)

print("Hour: \(components.hour)")
print("Minute: \(components.minute)")
print("Day: \(components.day)")
print("Month: \(components.month)")
print("Year: \(components.year)")

相关问题