没有从 NSDate 获取正确的日期

Not getting correct date from NSDate

我是 iOS 编程的新手,我想获得两个 NSDate 对象之间的差异,但我无法计算出正确的差异,因为我没有从 [NSDate Date] 获得正确的日期。

查看随附的屏幕截图。我没有明白我做错了什么?

我尝试了 this one and this one also 的解决方案。

如果我做错了什么,请提出建议?

尝试

const NSTimeInterval difference = [date1 timeIntervalSinceDate:date2];

这returns两个日期之间的秒数

试试这个,这将帮助您分别获得差异:-

unsigned int unitFlags = NSHourCalendarUnit | NSMinuteCalendarUnit | NSDayCalendarUnit | NSMonthCalendarUnit;

NSDateComponents *conversionInfo = [currCalendar components:unitFlags fromDate:fistDate   toDate:secondDate  options:0];

int months = [conversionInfo month];
int days = [conversionInfo day];
int hours = [conversionInfo hour];
int minutes = [conversionInfo minute];

[NSString stringWithFormat:@"%d months , %d days, %d hours, %d min", months, days, hours, minutes];

我得到了解决方案,只需要更换

[formatter setDateFormat:@"yyyy-mm-dd hh:mm:ss"]; with [formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];

它奏效了。