2013-03-13 59 views
0

我有這個NSDate轉換的NSDate到NSString的時間問題

2013-03-14 17:35:00 +0000 

我嘗試將其與這個轉換爲NSString

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"MM/dd/yyyy hh:mm:ss"]; 
[formatter stringFromDate:item.startdate]; 

而我得到的是:

03/14/2013 05:35:00 

我該如何解決它以給我日期和日期一樣的時間?

+0

那麼,你只想要日期不是時間? – Dilip 2013-03-13 15:44:31

+0

不,我也想要時間 – MTA 2013-03-13 15:44:50

+0

時間在那裏。 05:35:00如果你想要24小時,那麼在問題中這麼說。也嘗試使用HH而不是hh。 – Fogmeister 2013-03-13 15:48:42

回答

5

使用HH,而不是在你的時間hh,它是設置時區也

NSDateFormatter *timeFormatter = [[NSDateFormatter alloc] init]; 
[timeFormatter setDateFormat:@"MM/dd/yyyy HH:mm:ss"]; 
[timeFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]]; 
NSString *newTime = [timeFormatter stringFromDate:[[NSDate alloc]init] ]; 
+0

不錯的答案+1。 – Dilip 2013-03-13 16:18:40

1

[formatter setDateFormat:@"MM/dd/yyyy HH:mm:ss"];

使用H而不是h獲得24小時格式的時間。

3

我想你想HH 24小時制好主意:

[formatter setDateFormat:@"MM/dd/yyyy HH:mm:ss"]; 

但是我注意到這在Data Formatting Guide這可能會影響到你:

在iOS中,用戶可以覆蓋默認的AM/PM與24小時時間的設置 設置。這可能會導致NSDateFormatter重寫您設置的格式字符串 。