2009-06-09 54 views
3

是否有人可以幫助我弄清楚如何檢查某日是否與今天同日。我想這需要在同一時區的同一天的0小時內創建一個日曆日並檢查,但到目前爲止,我的嘗試讓我更加困惑於任何事情。檢查日期是否在同一日曆日

回答

5

NSCalendar讓你處理人天。所以,你可以實現一個類別是這樣的:

@implementation NSDate (IsItToday) 
- (BOOL)isToday { 
    NSUInteger desiredComponents = NSEraCalendarUnit|NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit; 
    NSDateComponents *myCalendarDate = [[NSCalendar currentCalendar] components:desiredComponents fromDate:self]; 
    NSDateComponents *today = [[NSCalendar currentCalendar] components:desiredComponents fromDate:[NSDate date]]; 
    return [myCalendarDate isEqual:today]; 
} 
@end 
-1

你應該好好讀通過這個Dates and Times Programming Topics for Cocoa,但這樣的事情應該工作:

NSDate *today = [NSDate date]; 
NSTimeInterval difference = [today timeIntervalSinceDate:otherDate]; 
NSTimeInterval secondsPerDay = 24 * 60 * 60; 
if (difference < secondsPerDay) 
{ 
    //same day as today 
} 
+0

,檢查24小時,如果不是它的同日 – dizy 2009-06-09 06:08:00

+0

你的答案是錯誤的(該問題問的日曆天,沒有時間間隔)。在告訴某人rtfm之前,請仔細閱讀這個問題! – Christoph 2009-07-25 07:57:34

相關問題