【发布时间】:2013-06-06 12:50:23
【问题描述】:
我已经为此苦苦挣扎了好几个小时。我试图找出两个日期之间的不同月份。
开始日期与系统日期正确,但结束日期始终显示相同的日期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;
【问题讨论】:
-
如果您阅读了您的问题,您能理解吗?我做不到。
-
是的,请准确说出您想要什么以及您拥有什么
标签: ios objective-c nsdate