swift – NSDate的昨天

前端之家收集整理的这篇文章主要介绍了swift – NSDate的昨天前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何创建一个自定义日期而不是当前日期的NSDate对象?例如,我想创建一个var的昨天或2天前。
您应该使用 NSCalendar计算日期。例如,在Swift 3中,今天前两天的日期是:
let calendar = Calendar.current
let twoDaysAgo = calendar.date(byAdding: .day,value: -2,to: Date())

或者在Swift 2:

let calendar = NSCalendar.currentCalendar()
let twoDaysAgo = calendar.dateByAddingUnit(.Day,toDate: NSDate(),options: [])

或者获取一个月的第一个月,您可以从当前日期获取日期,月份和年份,将日期调整为月份的第一天,然后创建一个新的日期对象。在Swift 3:

var components = calendar.dateComponents([.year,.month,.day],from: Date())
components.day = 1
let firstOfMonth = calendar.date(from: components)]

或者在Swift 2:

let components = calendar.components([.Year,.Month,.Day],fromDate: NSDate())
components.day = 1
let firstOfMonth = calendar.dateFromComponents(components)

NSCalendar / Calendar类中有很多有用的函数,因此您应该进一步调查。有关详细信息,请参阅NSCalendar class reference

但我建议不要对日期对象进行任何手动调整,通过调整一些时间间隔,即每天的秒数的倍数(例如24 * 60 * 60)。如果你只是添加一些时间间隔,但是对于日期计算,你真的想使用日历对象,以避免夏令时等问题。

猜你在找的Swift相关文章