斯威夫特3
我已经包括获得该月的最后一天的情况下,它是对任何人都有用。
extension Date {
func lastDayOfMonth() -> Date {
let calendar = Calendar.current
let dayRange = calendar.range(of: .day, in: .month, for: self)
let dayCount = dayRange!.count
var comp = calendar.dateComponents([.year, .month, .day], from: self)
comp.day = dayCount
return calendar.date(from: comp)!
}
func firstDayOfMonth() -> Date {
let calendar: Calendar = Calendar.current
var components: DateComponents = calendar.dateComponents([.year, .month, .day], from: self)
components.setValue(1, for: .day)
return calendar.date(from: components)!
}
}
u能与例如 – 2010-09-16 10:28:24
解释它,我想提供一个函数2010一个NSDate如9月16日然后,该函数将返回另一个的NSDate其为第一那一天。继续前面的例子,将返回的NSDate是2010年9月1日。我意识到有各种各样的替代方法可以完成这个最终结果(将原始日期拆分为组件,然后使用day组件重建),但我想必须有更优雅的解决方案。 – Skoota 2010-09-16 10:33:26