【发布时间】:2016-10-19 10:46:21
【问题描述】:
我有两个这样的约会,
NSString *givendate = @"2016-10-07T13:01:20";
NSDate *currentDateTime = [NSDate date];
我想通过比较当前日期和给定日期来计算 5 天或 6 天等天数。
我尝试了以下代码。
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFromString = [dateFormatter dateFromString:givendate];
NSTimeInterval diff = [currentDateTime timeIntervalSinceDate:dateFromString];
NSString *intervalString = [NSString stringWithFormat:@"%f", diff];
cell.days.text=intervalString;
但它会打印“nan”。任何帮助将不胜感激。
【问题讨论】:
-
我敢打赌,如果你
NSLog你的dateFromString变量你会得到零。 -
是的,它正在打印空值。我在哪里做错了?
-
您需要在日期格式化程序
yyyy-MM-dd'T'HH:mm:ss中设置适当的日期格式来解析ISO8601字符串。 -
我将添加到@vadian 评论:为什么以及如何
dateFormatter应该知道格式是什么?因为,确实有很多变化可能,甚至可能适用于相同样本但最后给出不同日期的变化。
标签: objective-c nsdate nsdateformatter