2012-10-15 25 views
0

可能重复:
Get missing month from timestamp Interval从timeInterval获取失踪月份?

我收到的时间从服务器秒为单位。然后我使用下面的代码将它们转换为几个月。

NSDateFormatter * dateFormatter=[[[NSDateFormatter alloc]init]autorelease]; 
[dateFormatter setDateFormat:@"MMM"]; 
[dateFormatter stringFromDate:[NSDate dateWithTimeIntervalSince1970:timeStamp]]; 

问题是我不每月收到来自服务器一样,如果我第一次获得月再第二次,我从服务器获取四月,但我需要在我的iPhone显示二月和三月(失踪一个月)屏幕(服务器人员不能更改他们的代码,所以我必须在我的最后)。 任何人都可以建议我,我怎么能错过几个月。

同样的问题,有时我从服务器获取十一月,然后二月,但我也必须表明十二月和一月

+0

你能把这个文本墙变成一个问题吗?这里有一些技巧你可能会签出:http://stackoverflow.com/editing-help –

+0

NSDateFormatter * dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; [dateFormatter setDateFormat:@“MMM”]; dateFormatter stringFromDate:[NSDate dateWithTimeIntervalSince1970:timeStamp]]; – IOSCODER

回答

0

作为一个快速和肮脏的解决方案,你可以只让所有月份的数组,从下个月开始,并在月份数组中向后循环,直到您点击前一个月。

更强大,甚至更好,就是用NSCalendar和NSDateComponents,如:

NSDateComponents* dateComponents = [[NSDateComponents alloc]init]; 
[dateComponents setMonth:1]; 
NSCalendar* calendar = [NSCalendar currentCalendar]; 
NSDate* newDate = [calendar dateByAddingComponents:dateComponents toDate:originalDate  options:0]; 
[dateComponents release]; 

这将增加/月减少你的约会。