我从服务器接收时间(以秒为单位),然后使用以下代码将 tjose 秒转换为月份:
NSDateFormatter * dateFormatter=[[[NSDateFormatter alloc]init]autorelease];
dateFormatter setDateFormat:@"MMM"];
[dateFormatter stringFromDate:[NSDate dateWithTimeIntervalSince1970:timeStamp]];
问题是我不是每个月都从服务器获取信息,就像我第一次获取一月然后第二次获取四月一样,但我需要在我的 iPhone 屏幕上显示二月和三月(缺少月份)(服务器人员无法更改他们的信息)代码,所以我必须在最后完成)。
谁能建议我如何才能错过几个月。
同样的问题是有时我从服务器获取十一月和二月,但我还必须显示十二月和一月。
任何帮助将不胜感激!
您可以比较两个日期之间的差异作为时间戳
NSDateFormatter * dateFormatter=[[[NSDateFormatter alloc]init]autorelease];
dateFormatter setDateFormat:@"MMM"];
NSString* monthName = [dateFormatter stringFromDate:[NSDate dateWithTimeIntervalSince1970:newTimestamp]]
NSTimeInterval month = 60.0 * 60.0 * 24.0 * 31.0; //seconds * minutes * hours * days ~ month
NSTimeInterval tempTimestamp = oldTimestamp;
while(tempTimestamp - newTimestamp) > month){
//more than a month difference -> add a month
NSString* tempMonthName = [dateFormatter stringFromDate:[NSDate dateWithTimeIntervalSince1970:tempTimestamp]];
if(![monthName isEqualTo:newMonthName]){
//do whatever you need with the additional month name...
}
tempTimestamp += month;
}
希望它会有所帮助。
干杯...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)