如何获得两个date之间的天数objective-c
我正在试着制作一个标签,说明事件还有多less天。 我想计算今天的date和事件date之间的差异。 我使用这个代码,它给我-4600。 它工作正常,直到我使用今天的date。
NSDateFormatter *f = [[NSDateFormatter alloc] init]; [f setDateFormat:@"yyyy-MM-dd"]; NSDate *startDate = [NSDate date]; NSDate *endDate = [f dateFromString:end]; NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; NSDateComponents *components = [gregorianCalendar components:NSDayCalendarUnit fromDate:startDate toDate:endDate options:0]; return components.day; return components.day;
默认[NSDate date]
返回date在像2013-08-06 08:50:25 +0000
,你已经把你的格式化程序设置为yyyy-MM-dd
这个,所以你必须将你的startDate转换为yyyy-MM-dd
这个形成..
尝试这个
NSDateFormatter *f = [[NSDateFormatter alloc] init]; [f setDateFormat:@"yyyy-MM-ddHH:mm:ss ZZZ"]; NSDate *startDate = [NSDate date]; NSLog(@"%@",startDate); NSDate *endDate = [f dateFromString:end]; NSLog(@"%@",endDate); NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; NSDateComponents *components = [gregorianCalendar components:NSDayCalendarUnit fromDate:startDate toDate:endDate options:0]; return components.day;