2011-08-12 65 views
0

我有一个NSDictionary看起来像。从nsdictionary选择特定日期

dic is : { 
city = #; 
country = #; 
date = "2011-08-12 05:00:00 +0000"; 
"day_of_week" = Fri; 
high = 79; 
icon = "/ig/images/weather/chance_of_storm.gif"; 
low = 61; 
startdate = "2011-08-12 05:00:00 +0000"; 
state = #; 
} 


dic is : { 
city = #; 
country = #; 
date = "2011-08-13 05:00:00 +0000"; 
"day_of_week" = Fri; 
high = 79; 
icon = "/ig/images/weather/chance_of_storm.gif"; 
low = 61; 
startdate = "2011-08-12 05:00:00 +0000"; 
state = #; 

}

dic is : { 
city = #; 
country = #; 
date = "2011-08-14 05:00:00 +0000"; 
"day_of_week" = Sat; 
high = 79; 
low = 58; 
startdate = "2011-08-12 05:00:00 +0000"; 
state = #; 

}

if(([dd1 earlierDate:startDate]) &&[dd1 earlierDate:endDate]) 

       {  
        /*if([dd1 isEqualToDate:startDate] || [dd1 isEqualToDate:endDate]) 

我从测试用例传递NSDate秒。 Startdate和Enddate从测试用例中传递,dd1从日期解析器传递。我正在尝试获取2个日期之间的值,但得到所有4个日期。什么是解决方案只获取我希望的日期值?

DD1 IS的NSDate对象,却看到它NSDICTIONARY.SO DD1 IS RUNNING内部的for循环我的抵达时间存在201-08-12,2011-08-13 ETC

+0

这对你有没有帮助? http://stackoverflow.com/questions/7032347/get-date-from-an-nsdictionary-and-match-them – Joe

回答

0

您正在尝试比较NSDictionaryNSDate。这是你将如何提取日期,计算差值:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"yyyy-mm-dd HH:mm:ss zz"]; 
NSDate *startDate = [formatter dateFromString:[dd1 objectForKey:@"startdate"]]; 
NSDate *date = [formatter dateFromString:[dd1 objectForKey:@"date"]]; 
NSTimeInterval intervalInSeconds = [startDate timeIntervalSinceDate:date]; 
[formatter release]; 

不是100%肯定有关dateFormate字符串的最后一部分,但它应该工作。

+0

我试图做到这一点.. – iph

+0

NSDateFormatter是完全不必要的,因为NSDate提供了所有需要的比较方法这里。 – glorifiedHacker

+0

@glorifiedHacker酷。你如何从NSString获得NSDate? – Mundi

0

从你发布的代码中,你并不清楚你正在谈论的4个日期。然而,你的if语句没有意义,因为你试图将布尔逻辑应用到对象(earlierDate:返回一个指向NSDate对象的指针)。尝试这样的:

if(([dd1 compare:startDate] == NSOrderedDescending) && ([dd1 compare:endDate] == NSOrderedAscending)) 

这应该只计算为true,如果dd1代表的日期是在startDate和endDate之间。

+0

我的诗歌看起来像somethingdic是:{ city =#; country =#; date =“2011-08-12 05:00:00 +0000”; “day_of_week”= Fri; 高= 79; icon =“/ig/images/weather/chance_of_storm.gif”; 低= 61; startdate =“2011-08-12 05:00:00 +0000”; state =#; } dic是:{ city =#; country =#; date =“2011-08-13 05:00:00 +0000”; “day_of_week”=星期六; 高= 79; low = 58; startdate =“2011-08-12 05:00:00 +0000”; state =#; } – iph

+0

请不要在评论中发布那种东西 - 这种格式几乎不可读。编辑您的问题并以格式良好的方式追加该信息。 – glorifiedHacker

+0

我看到您编辑了您的帖子以包含额外的字典信息。你是否尝试过我在上面发布的if语句?如果它不适合你,那么你需要更详细地解释问题是什么。 – glorifiedHacker

相关问题