How to add a time interval to an NSDate?

亡梦爱人 提交于 2019-11-27 22:30:13

As DyingCactus states, you can use the addTimeInterval method of NSDate, but depending on the OS version is will create a compiler warning, since it is deprecated in 10.6 as of 2009-08-17.

The current recommended method is to use dateByAddingTimeInterval on NSDate:

NSDate *newDate = [oldDate dateByAddingTimeInterval:3600];

Note that if you are targeting 10.5 or earlier, the original answer will work.

Mark

You want the class method dateWithTimeInterval:sinceDate: which takes the starting date and the interval NSDate docs

You can use the addTimeInterval instance method of NSDate:

NSDate *newDate = [oldDate addTimeInterval:3600];

Edit: As Chip Coons correctly points out, this method has been deprecated. Please use one of the other methods instead.

For those looking for a Swift 3.x version:

let newDate = Date.init(timeInterval: 2600, since: oldDate)

Instead of using the deprecated addTimeInterval method, you can use the newer dateByAddingTimeInterval instance method of NSDate.

NSDate *newDate = [oldDate dateByAddingTimeInterval:2500];
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!