比较NSDate对象

5

我有一个名为“dueDate”的NSDate对象。我想知道如何显示该日期是昨天还是明天。请问应该如何实现?

2个回答

4
要判断一个日期是否为“明天”,可以按照以下方式操作。
    NSCalendar *calendar = [NSCalendar currentCalendar];    
    NSDate *currentDate = [NSDate date];
    NSDateComponents *comps = [[NSDateComponents alloc] init];
    // set tomorrow (0: today, -1: yesterday)
    [comps setDay:1];
    NSDate *dateTomorrow = [calendar dateByAddingComponents:comps 
                                                     toDate:currentDate  
                                                    options:0];
    [comps release];

剩下的应该很明显。 希望对你有所帮助。

0
NSDate *today = [NSDate date];

NSTimeInterval dateTime;


if ([visitDate isEqualToDate:today])   //visitDate is a NSDate

{

NSLog (@"Dates are equal");

}

dateTime = ([visitDate timeIntervalSinceDate:today] / 86400);  

if(dateTime < 0) //Check if visit date is a past date, dateTime returns - val

{

NSLog (@"Past Date");

}

else 

{   
NSLog (@"Future Date");

}

1
"isEqualToDate:" 是精确匹配。也就是说,它可以匹配到秒以下的时间。这个测试可能永远不会为 TRUE。 - Christ

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接