swift – NSDate的昨天
发布时间:2020-12-14 05:58:54 所属栏目:百科 来源:网络整理
导读:如何创建一个自定义日期而不是当前日期的NSDate对象?例如,我想创建一个var的昨天或2天前。 您应该使用 NSCalendar 计算日期。例如,在Swift 3中,今天前两天的日期是: let calendar = Calendar.currentlet twoDaysAgo = calendar.date(byAdding: .day,val
如何创建一个自定义日期而不是当前日期的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)。如果你只是添加一些时间间隔,但是对于日期计算,你真的想使用日历对象,以避免夏令时等问题。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |