加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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)。如果你只是添加一些时间间隔,但是对于日期计算,你真的想使用日历对象,以避免夏令时等问题。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读