根据以后的日期创建NSDate

时间:2013-10-26 22:23:26

标签: ios objective-c date datetime

我正在尝试在参考日期之前创建一个具有特定小时数和分钟数的NSDate对象。

例如:

Reference date = oct 21 2013 12:30 PM

date with 2 hours before and 40 minute before: oct 21 2013 9:50 AM

是否可以这样做?

2 个答案:

答案 0 :(得分:1)

您可以使用NSDate方法dateByAddingTimeInterval。它需要一个NSTimeInterval double来将秒数添加到所需的时间。检查NSDate类,还有其他感兴趣的方法。 NSDate

答案 1 :(得分:1)

使用NSDateComponents

NSDateComponents *dateComps = [[NSCalender currentCalender] components:(NSDayCalenderUnit | NSMonthCalenderUnit | NSYearCalenderUnit | NSHourCalenderUnit | NSMinuteCalenderUnit | NSSecondCalenderUnit) fromDate:now];
[dateComps setHour:[dateComps hour]-2]; // Subtract here
[dateComps setMinute:[dateComps minute]-40]; // Subtract here

// You can change all components here as above methods.

NSDate *dateResult=[[NSCalender currentCalender] dateFromComponents:dateComps];

NSLog("%@",dateResult);