2012-02-20 50 views
0

我試着去更新程序自動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 
} 

有什麼建議?

回答

0
if ([date compare:fileModPlus24Hours] == NSOrderedDescending) { 
    // update file 
} 

比較的結果可以是NSOrderedAscendingNSOrderedDescendingNSOrderedSame

而且我不認爲你的代碼可以通過比較datefileModPlus24Hours。您應該將當前日期與fileModPlus24Hours進行比較:

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

是的,我認爲您是對的。 Tt似乎與您合作解決方案。我會在24小時內檢查;-)謝謝 – ebsp 2012-02-20 20:19:59

+0

其實你現在可以檢查,只是** **(24 * 60 * 60)** ** ** **(一分鐘)只是爲了測試,然後把它放回**(24 * 60 * 60)** :) – sch 2012-02-20 20:21:46