我是iOS编程的新手,我一直在寻找一种方法来比较“今天”(NSDate)和格式化的字符串日期(dd / MM / yyyy)。
我已经找到了NSDate的earlierDate
,laterDate
等的一些很好的答案,但是该代码似乎在我的项目中不起作用。
这里是 :
// [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/