Ios 如何获取两个日期之间的天数目标-c
我正试着做一个标签,上面写着离活动还有多少天。我想计算今天日期和事件日期之间的差异。我正在使用这个代码,它给我-4600。在我使用今天的日期之前,它工作正常Ios 如何获取两个日期之间的天数目标-c,ios,objective-c,nsstring,nsdate,Ios,Objective C,Nsstring,Nsdate,我正试着做一个标签,上面写着离活动还有多少天。我想计算今天日期和事件日期之间的差异。我正在使用这个代码,它给我-4600。在我使用今天的日期之前,它工作正常 NSDateFormatter *f = [[NSDateFormatter alloc] init]; [f setDateFormat:@"yyyy-MM-dd"]; NSDate *startDate = [NSDate date]; NSDate *endDate = [f dateFromString:en
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;
默认情况下,like中的返回日期为2013-08-06 08:50:25+0000 您已经将格式化程序设置为
yyyy-MM-dd
此格式,因此您必须将起始日期转换为yyy-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;
您所说的一个问题是重复的,我使用了该答案,但它不起作用。您是否验证了
NSDate*endDate=[f dateFromString:end]
返回了预期的日期字符串end
包含什么?@user1898829那么您应该在问题中提到这一点