如何添加小时到NSDate?

我有一个date转换为双值并保存在数据库中。 现在,我想比较currentDate > myDataBaseDate + 8小时,即我想要8小时添加到myDataBaseDate。 我将date转换为双重值。 那么如何从我的数据库保存date8小时后获得。 我如何比较

 if (currentDateTime > DateFromdatabaseValue + DateByAdding8HoursInDataBase) 

我不完全确定你要做什么,但是你可以创build一个NSDate对象,通过添加时间秒到另一个NSDate使用:

- (id)dateByAddingTimeInterval:(NSTimeInterval)seconds

//例如 现在时间增加8小时:

 NSDate *mydate = [NSDate date]; NSTimeInterval secondsInEightHours = 8 * 60 * 60; NSDate *dateEightHoursAhead = [mydate dateByAddingTimeInterval:secondsInEightHours]; 

由于iOS 8有更方便的dateByAddingUnit

 //add 8 hours let calendar = NSCalendar.autoupdatingCurrentCalendar() newDate = calendar.dateByAddingUnit(.CalendarUnitHour, value: 8, toDate: originalDate, options: nil) 

你可以简单地使用:

 NSDate *incrementedDate = [NSDate dateWithTimeInterval:numberOfSeconds sinceDate:[NSDate date]]; 

您可以简单地将8 * 3600添加到您的数据库值(假设您的转换的double值表示秒)。

NSDate * startdate = datePicker.date;

  NSTimeInterval secondsInOneHours = 1 * 60 * 60; NSDate *dateOneHoursAhead = [startdate dateByAddingTimeInterval:secondsInOneHours]; [dateformate setDateFormat:@"d-MMM-yy HH:mm:ss"]; strDate = [dateformate stringFromDate:dateOneHoursAhead]; 

Swift 3.X简单的用法

 let calendar = NSCalendar.autoupdatingCurrent let newDate = calendar.date(byAdding: .hour, value: 8, to: Date())