我怎样才能确定两个NSDate值之间的天数(考虑到时间)?
该NSDate值是任何形式的[NSDate date]需要.
具体来说,当用户在我的iPhone应用程序中进入非活动状态时,我存储以下值:
exitDate = [NSDate date];
Run Code Online (Sandbox Code Playgroud)
当他们打开应用程序备份时,我得到当前时间:
NSDate *now = [NSDate date];
Run Code Online (Sandbox Code Playgroud)
现在我想实现以下内容:
-(int)numberOfDaysBetweenStartDate:exitDate andEndDate:now
Run Code Online (Sandbox Code Playgroud) 好的,我已经在这几天工作了,而且我被卡住了.我想要做的是将当前时间与预定时间进行比较.我想要发生的是,每天在某些时候我想要触发某些代码,但不是在我指定的时间之前.
因此,基本上如果"当前时间"与"预定时间"相同或相等,则触发此代码.或者解雇这行代码.
听起来很简单,但我在抓两次比较时遇到了麻烦.
我已经将字符串格式化为这样的日期
NSString* dateString = @"11:05 PM";
NSDateFormatter* firstDateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[firstDateFormatter setDateFormat:@"h:mm a"];
[firstDateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSDate* date = [firstDateFormatter dateFromString:dateString];
NSLog(@"date %@",date);
Run Code Online (Sandbox Code Playgroud)
然后我像这样抓住当前的时间
NSDate *currentTime = [NSDate dateWithTimeIntervalSinceNow:[[NSTimeZone localTimeZone] secondsFromGMT]];
NSDateComponents* comps = [[NSCalendar currentCalendar]
components: NSHourCalendarUnit |NSMinuteCalendarUnit
|NSSecondCalendarUnit fromDate:currentTime];
[[NSCalendar currentCalendar] dateFromComponents:comps];
Run Code Online (Sandbox Code Playgroud)
那我该怎么比较这两次呢?我已经尝试了我能想到的一切,请帮忙.