如何向NSDate添加时间间隔?

use*_*859 6 cocoa cocoa-touch objective-c nsdate date-arithmetic

我有一个NSDate和一个持续时间.我需要在持续时间之后得到时间

鉴于:
日期为"2010-02-24 12:30:00 -1000",
持续时间为3600秒

我需要得到"2010-02-24 13:30:00 -1000"

我想dateWithTimeIntervalSinceReferenceDate:,会做的伎俩,但我现在看到这给出了2001年1月1日GMT的日期偏移.

我需要使用另一个C函数吗?

小智 32

正如DyingCactus所述,您可以使用NSDate的addTimeInterval方法,但是根据操作系统版本将创建编译器警告,因为自2009-08-17起它在10.6中被弃用.

目前推荐的方法是在NSDate上使用dateByAddingTimeInterval:

NSDate *newDate = [oldDate dateByAddingTimeInterval:3600];
Run Code Online (Sandbox Code Playgroud)

请注意,如果您的目标是10.5或更早,原始答案将起作用.