题
我开始与一个NSDate [NSDate的日期];我要检查它是否真实,因为这NSDate的变量已经5个小时。我会如何做呢?我在我的代码是
requestTime = [[NSDate alloc] init];
requestTime = [NSDate date];
在我要检查它是否一直以来requestTime 12小时以后的方法。请帮忙!由于事先。
解决方案
int seconds = -(int)[requestTime timeIntervalSinceNow];
int hours = seconds/3600;
基本上我在这里问了多少秒过去了,因为我们第一次得到了我们的requestTime。然后用一些数学魔术,由秒小时数除以又名,我们可以得到的已通过的小时数。
小心的词。请确保您设置requesttime时,使用“保留”的关键字。 Xcode的喜欢忘记的NSDate对象设置为无它。
requestTime = [[NSDate date] retain];
其他提示
NSInteger hours = [[[NSCalendar currentCalendar] components:NSHourCalendarUnit fromDate:requestTime toDate:[NSDate date] options:0] hour];
if(hours >= 5)
// hooray!
尝试使用该方法,或东西沿着这些路线。
- (int)hoursSinceDate :(NSDate *)date
{
#define NUBMER_OF_SECONDS_IN_ONE_HOUR 3600
NSDate *currentTime = [NSDate date];
double secondsSinceDate = [currentTime timeIntervalSinceDate:date];
return (int)secondsSinceDate / NUBMER_OF_SECONDS_IN_ONE_HOUR;
}
可以然后执行所述整数小时响应一个简单的检查。
int hours = [dateUtilityClass hoursSinceDate:dateInQuestion];
if(hours < 5){
# It has not yet been 5 hours.
}
不隶属于 StackOverflow