Если заявление сравнить две даты - PullRequest
0 голосов
/ 21 февраля 2012

Я пытаюсь обновить файл plist автоматически, если ему более 24 часов, но я не могу понять, как сравнить две даты.

// get last modification date
NSString *dir = path;
NSDictionary *attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:dir error:nil];
NSDate *date = [attributes fileModificationDate];

NSDate *fileModPlus24Hours = [NSDate dateWithTimeInterval:(24*60*60) sinceDate:date];

Думая о чем-то вроде:

if (date > fileModPlus24Hours) {
    // update file
}

Есть предложения?

1 Ответ

0 голосов
/ 21 февраля 2012
if ([date compare:fileModPlus24Hours] == NSOrderedDescending) {
    // update file
}

Результат сравнения может быть NSOrderedAscending, NSOrderedDescending или NSOrderedSame.

И я не думаю, что ваш код будет работать, если сравнить date с fileModPlus24Hours,Вы должны сравнить текущую дату с fileModPlus24Hours вместо:

NSDate *now = [NSDate date];
if ([now compare:fileModPlus24Hours] == NSOrderedDescending) {
    // update file
}
...