2013-01-18 160 views
1

我在我的ios應用程序中接收來自多個Facebook粉絲頁面的事件,並且響應包含字段start_time,它是ISO-8601格式。不過,我已經注意到,對於一些頁面,我在這個字符串中得到了偏移量,但對於某些我沒有。他們可能看起來像三個中的任何一個,2013-01-13T11:00:00,2013-01-25T21:00:00 + 0530或僅2013-02-03日期。我如何檢測格式並將其格式化爲更具可讀性的格式,並在用戶時區中包含日期和時間?格式化iso-8601日期字符串

回答

2

你可以檢查字符串爲「T」或「+」給了你肯定知道這些是僅有的3種可能性:

NSString *dateString = @"2013-01-13T11:00:00"; 

if (([dateString rangeOfString:@"T"].location != NSNotFound) && ([dateString rangeOfString:@"+"].location != NSNotFound)) { 

    NSLog(@"found T and + in dateString: %@", dateString); 
    //set date format accordingly... 

} else if (([dateString rangeOfString:@"T"].location != NSNotFound) && ([dateString rangeOfString:@"+"].location == NSNotFound)) { 

    NSLog(@"only found T in dateString: %@", dateString); 
    //set date format accordingly... 

} else { 

    NSLog(@"didn't find T or + in dateString: %@", dateString); 
    //set date format accordingly... 
} 
+0

不得不修復我的代碼。這應該現在工作。 – jhilgert00

+0

謝謝jhilgert00 –