【发布时间】:2015-10-14 20:28:45
【问题描述】:
我有三个日期“startDate”,stopDate 和 currentDate。我需要比较 'startDate' = 'currentDate'。我的代码。
unsigned int flagsDate = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSDateComponents* fromComponents = [[NSCalendar currentCalendar] components:flagsDate fromDate:startDate];
NSDate* fromDateOnly = [[NSCalendar currentCalendar] dateFromComponents:fromComponents];
NSDateComponents* toComponents = [[NSCalendar currentCalendar] components:flagsDate fromDate:stopDate];
NSDate* toDateOnly = [[NSCalendar currentCalendar] dateFromComponents:toComponents];
NSDate * currentDate = [NSDate date];
NSDateComponents* currComponents = [[NSCalendar currentCalendar] components:flagsDate fromDate: currentDate];
NSDate* currDateOnly = [[NSCalendar currentCalendar] dateFromComponents:currComponents];
NSTimeInterval fromTime = [fromDateOnly timeIntervalSinceReferenceDate];
NSTimeInterval toTime = [toDateOnly timeIntervalSinceReferenceDate];
NSTimeInterval currTime = [currDateOnly timeIntervalSinceReferenceDate];
NSLog(@"%@ %@",currentDate, currDateOnly);
NSLog(@"%@ %@",startDate, fromDateOnly);
NSLog(@"%@ %@",stopDate, toDateOnly);
这就是带来 nslog 的原因。
2014-04-10 23:59:53.280 日历[2148:90b] 2014-04-10 19:59:53 +0000 2014-04-09 20:00:00 +0000 2014-04-10 23:59:53.282 日历[2148:90b] 2014-04-10 20:14:12 +0000 2014-04-10 20:00:00 +0000 2014-04-10 23:59:53.282 日历[2148:90b] 2015-04-09 20:14:12 +0000 2015-04-09 20:00:00 +0000
如何比较日期?我只需要比较没有时间的日期。如果时间小于 20:00,为什么要更改日期?
【问题讨论】:
-
你不能指定你使用什么语言吗?
标签: objective-c nsdate