【发布时间】:2013-06-03 22:43:59
【问题描述】:
这里是设置,我有一个我正在使用的 JSON 提要,我想找出两个名为 posted_date 和 planned_expiration_date 的特定日期之间的差异。它们的格式很奇怪,所以我想我可以将它们截断为日期。然后我可以使用NSTimeInterval 来查找以秒为单位的差异。
// Time Interval Left
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
NSString *startDate = [firstPerson objectForKey:@"posted_date"];
NSString *endDate = [firstPerson objectForKey:@"planned_expiration_date"];
//Ammend the strings to YYYY-MM-DD
[formatter setDateFormat:@"yyyy-mm-dd"];
int newlength = 9;
NSDate *startDateAmmended =[formatter dateFromString:[startDate substringFromIndex:newlength]];
NSDate *endDateAmmended = [formatter dateFromString:[endDate substringFromIndex:newlength]];
这是我不太确定的一点。日期直接从提要中显示为"2013-06-07T13:40:01Z"。我不知道如何处理日期格式化程序方法中的 T 和 Z 字符,所以我用 substringFromIndex 截断字符串使其变为 10 个字符,然后尝试以下代码。
//Difference in Date
NSTimeInterval *startDifference = [startDateAmmended timeIntervalSinceNow];
NSTimeInterval *endDifference = [endDateAmmended timeIntervalSinceNow];
NSTimeInterval timeDifferenceInSeconds = startDifference - endDifference;
我在前两次调用NSTimeInterval 时收到以下错误.../JSONParser/ViewController.m:52:21: Initializing 'NSTimeInterval *' (aka 'double *') with an expression of incompatible type 'NSTimeInterval' (aka 'double')。
我确信我在一些地方出错了,而且我确信这不是最简单的方法。谁能推荐我如何解决这个问题或者更简单的方法来获取日期之间的差异?
【问题讨论】:
标签: objective-c nsdate nstimeinterval