2017-05-25 24 views
1

我需要检查一块代码每天只有一次,我试了下面的代码,但它不按我的要求工作。像今天的日期是25-5-2017,最后检查日期是23-5-2017也不在条件内。我不知道我在做错什么。需要检查的代码,如果它没有在过去24小时检查

  NSDate *todayDate = [NSDate date]; 
      NSLog(@"today date is %@",todayDate); 
      NSDate *lastCheckedDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"LastCheckedDate"]; 
      NSLog(@"lastCheckedDate is %@",lastCheckedDate); 
      if ([todayDate compare:lastCheckedDate] > 864000.0f) { 
       NSArray *appMsgsArray = [response valueForKey:@"AppMsgs"]; 
       NSDictionary *mainDict = [appMsgsArray objectAtIndex:0]; 
       NSString *appDataExpiry = [mainDict valueForKey:@"appdata_expiry"]; 
       [stm deleteOldArticles:[appDataExpiry integerValue]]; 
       NSDate *lastDate = [NSDate date]; 
       [[NSUserDefaults standardUserDefaults] setObject:lastDate forKey:@"LastCheckedDate"]; 
      } 

有一天我正在使用864000.0f值。任何人都可以帮助我,谢谢。

+0

“一天一次” ......你的意思,有自上次检查传递至少24个小时? –

+0

是的,24小时过后,我只需要做这个过程。 @AndréSlotta –

回答

2

试试这个:

NSDate *firstDate = [NSDate date]; 
NSDate *secondDate = [NSDate date]; 

if ([secondDate timeIntervalSinceDate:firstDate] >= 86400) { 
    NSLog(@"24 hours have passed..."); 
} 
当你说
+0

谢谢,让我检查。 –

+0

不,这个人也不能工作@AndréSlotta –

+0

你可以显示你的新代码吗? –