有人能告诉我如何在Swift中分离NSDate()的日期和时间组件吗?我看到了一些关于将日期本身分离成组件(日、月、年)的东西,但没有真正了解如何仅获得时间或仅获得日、月、年。基本上,我尝试按日期过滤表中的数据,但同时也要显示条目的创建时间。我尝试使用普通的ol' NSDate(),但过滤不起作用,因为仅按今天的日期过滤不会产生结果,因为这些条目的创建时间总是小于当前时间。
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)")
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)")
2条答案
按热度按时间deyfvvtc1#
您需要使用Calendar来拆分日期,使用CalendarUnit来指定所需的组件。
byqmnocz2#
斯威夫特5 Xcode 14.2