我是iOS编程的新手,我一直在寻找一种方法来比较“今天”(NSDate)和格式化的字符串日期(dd / MM / yyyy)。

我已经找到了NSDate的earlierDatelaterDate等的一些很好的答案,但是该代码似乎在我的项目中不起作用。

这里是 :

// [book quandd]  is the string :    25/02/2011  (or whatever dd/MM/yyyy date)

NSDate *today = [NSDate date];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"dd/MM/yyyy"];

if ( [[dateFormat dateFromString:[book quandd]] isEqualToDate:today]) {
    NSLog(@"Dates are equal");
}
if ( [[dateFormat dateFromString:[book quandd]] earlierDate:today]) {
    NSLog(@"earlier");
}
if ( [[dateFormat dateFromString:[book quandd]] laterDate:today]) {
    NSLog(@"later");
}

无论我做什么以及[book quandd]中的日期如何,控制台始终会写“更早”和“更晚”,就像它们在同一时间晚于今天一样。

那“虫子”从哪里来?

例如,是否可以通过某些简便的方法将今天的日期与2011年2月26日进行比较?

最佳答案

使用timeIntervalSinceNow:从必要的日期获取差异。

您还应该尝试获取它们之间的区别,然后转换为字符串。

关于ios - 如何比较“今天”(NSDate)和格式化的字符串日期(dd/MM/yyyy)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5116482/

10-16 01:26