代码之家  ›  专栏  ›  技术社区  ›  dizy

检查日期是否为同一日历日

  •  3
  • dizy  · 技术社区  · 16 年前

    2 回复  |  直到 16 年前
        1
  •  5
  •   Chuck    16 年前

    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
    
        2
  •  -1
  •   Nick Stamas    16 年前

    你应该好好读一读这本书 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
    }