Iphone 如何判断自NSDate起的小时数
我使用[NSDate date]启动了NSDate;我想检查NSDate变量是否已经存在5个小时了。我该怎么做呢?我的代码中包含的是Iphone 如何判断自NSDate起的小时数,iphone,objective-c,ios4,Iphone,Objective C,Ios4,我使用[NSDate date]启动了NSDate;我想检查NSDate变量是否已经存在5个小时了。我该怎么做呢?我的代码中包含的是 requestTime = [[NSDate alloc] init]; requestTime = [NSDate date]; 在后面的一个方法中,我想检查自请求时间起是否已经12个小时了。请帮忙!提前谢谢 int seconds = -(int)[requestTime timeIntervalSinceNow]; int hours = seconds/
requestTime = [[NSDate alloc] init];
requestTime = [NSDate date];
在后面的一个方法中,我想检查自请求时间起是否已经12个小时了。请帮忙!提前谢谢
int seconds = -(int)[requestTime timeIntervalSinceNow];
int hours = seconds/3600;
基本上在这里,我要问的是,从我们第一次得到请求时间到现在已经过去了多少秒。然后用一个小数学魔术,也就是除以一小时内的秒数,我们可以得到已经过去的小时数
一句警告的话。确保在设置requesttime时使用“retain”关键字。xcode喜欢忘记NSDate对象在没有它的情况下设置为什么
requestTime = [[NSDate date] retain];
尝试使用这种方法,或者类似的方法
- (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.
}
int hours=[dateUtilityClass hoursSinceDate:dateInQuestion];
如果(小时数<5){
#还不到5个小时。
}
您应该改用NSDATE组件
int hours = [dateUtilityClass hoursSinceDate:dateInQuestion];
if(hours < 5){
# It has not yet been 5 hours.
}