我正在接收服务器的秒数。然后我使用下面的代码将它们转换成几个月。
NSDateFormatter * dateFormatter=[[[NSDateFormatter alloc]init]autorelease];
[dateFormatter setDateFormat:@"MMM"];
[dateFormatter stringFromDate:[NSDate dateWithTimeIntervalSince1970:timeStamp]];
问题是我每个月都没有从服务器上得到如果我先得到Jan然后第二次从服务器获得4月但我需要在我的iPhone屏幕上显示feb和Mar(缺少月份)(服务器人员)不能改变他们的代码,所以我必须在我的最后)。 任何人都可以建议我怎样才能错过几个月。
同样的问题有时我会从服务器获得11月和2月,但我也必须显示12月和1月。
答案 0 :(得分: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];
这会使你的日期增加/减少一个月。