2013-03-24 53 views
0

我有從Web服務進入我的應用程序的日期時間值。格式如下:NSDate的時間格式

2013-03-24T09:45:00.000-04:00

我只需要時間從該值。我使用NSDateFormatter和我設定的日期格式如下:

[df setDateFormat:@"HH:mm:ss"]; 

,我這樣做時,我得到一個非常模糊的運行時錯誤。但是,我沒有錯誤,當我用下面的(儘管它不符合我的要求):

[df setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.sssz"]; 

有人能幫忙嗎?

回答

0

試試這個

NSString *originalDateString = @"2013-03-24T09:45:00.000-04:00"; 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.sssz"]; 
NSDate *date = [dateFormatter dateFromString:originalDateString]; 

[dateFormatter setDateFormat:@"HH:mm:ss"]; 
NSString *newDateString = [dateFormatter stringFromDate:date]; 
+1

對於該TZ方案,日期格式應以ZZZZZ結尾。 – 2013-03-24 21:02:02

+0

@HotLicks我得到正確的輸出後發佈了代碼。你能證實這一點嗎? – Anupdas 2013-03-24 21:06:55

+0

在AM/PM中,NSDateFormatter中是否有方法將24小時時間格式轉換爲12? – Pheepster 2013-03-24 21:08:23

-1

也許如果你使用日期格式化器檢索的NSDate實例,並從那裏做你自己格式化。

NSSTring *dateString = "2013-03-24T09:45:00.000-04:00"; 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
NSDate *dateFromWebApp = [dateFormatter dateFromString:dateString]; 

沒有測試過壽,但它應該工作。

Cheers

+0

這根本行不通。你從不指定日期格式。 – rmaddy 2013-03-24 22:18:31