2012-10-15 27 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]; 

這將增加/月減少你的約會。