我讀過的所有問題,並回答所有關於這個主題的教程,但由於某些原因,它不是爲我工作。總是告訴我這兩個日期是同一日期!NSDate的比較都不盡如人意
請有人幫我指點迷津,我只是想檢查是否一個比另一個大(包括日期和時間 - 無需秒),或者如果他們是平等的。
這是我的代碼:
- (BOOL)isEndDateIsBiggerThanCurrectDate:(NSDate *)checkEndDate
{
NSString *endd = [NSDateFormatter localizedStringFromDate:checkEndDate
dateStyle:NSDateFormatterShortStyle
timeStyle:NSDateFormatterShortStyle];
NSString *curreeeent = [NSDateFormatter localizedStringFromDate:[NSDate date]
dateStyle:NSDateFormatterShortStyle
timeStyle:NSDateFormatterShortStyle];
NSDateFormatter * df = [[NSDateFormatter alloc]init];;
NSDate * newCurrent = [df dateFromString:endd];
NSDate * newEnd = [df dateFromString:curreeeent];
switch ([newCurrent compare:newEnd])
{
case NSOrderedAscending:
return YES;
break;
case NSOrderedSame:
return NO;
break;
case NSOrderedDescending:
return NO;
break;
}
}
非常感謝您!
爲什麼你從日期創建字符串然後回到日期? – rckoenes
因爲我想要沒有秒的日期,只有HH:mm。所以我使用短日期格式。 –
不需要使用日期格式化程序。請參閱下面的答案。 – Ilanchezhian