我几个小时都在苦苦挣扎。我想找到两个日期之间的差异月份。
系统日期的开始日期是正确的,但endDate始终显示相同的日期2014-01-04 00:00:00
,无论用户输入什么。 (并且valuetosave是用户输入的日期,我将其保存在userdefaults中,如果我在日志中看到它是正确的,例如字符串是31/12/2014
)。因此,目前我总是在用户选择的日期获得7个月的事件,例如2014年12月31日。
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd/MM/YYYY"];
NSDate *endDate = [formatter dateFromString:valuetosave];
NSCalendar *gregorian = [[NSCalendar alloc]
initWithCalendarIdentifier:NSGregorianCalendar];
unsigned int unitFlags = NSMonthCalendarUnit | NSDayCalendarUnit;
NSDateComponents *comps = [gregorian components:unitFlags fromDate:startDate toDate:endDate options:0];
float months = [comps month]+1;
答案 0 :(得分:1)
你可以试试吗
[formatter setDateFormat:@"dd/MM/yyyy"];
只需更改dateFormat 19
即可获得个月。
答案 1 :(得分:1)