2015-11-19 49 views
-1

我有一個的NSString其中包含下列格式日期:二零一五年十一月十九日上午10時44分錯誤的NSString轉換成NSDate的

現在我想的NSString轉換成NSDate的使用下面的代碼塊:

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"MMM dd,yyyy HH:mm a "]; 
[dateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]]; 
NSDate *setEditDate = [dateFormat dateFromString:lastLog]; 
NSLog(@"setEditDate = %@",setEditDate); 

上面的代碼返回我 「setEditDate = 2015年11月19日○點44分00秒+0000」

這裏時間得到改變,以10:44 00:44。

如何解決此問題,以獲取正確的日期和時間。 任何幫助將是可觀的。

+0

它與時區有關嗎? –

+0

是的。 Beacuse如果我刪除時區formater,我得到以下結果 setEditDate = 2015-11-18 19:14:00 +0000 從指定日期減少1天 – user5247057

+1

更改'@「MMM dd,yyyy HH:mm a」'to '@「MMM dd,yyyy hh:mm a」' – Rajat

回答

-1

你的格式字符串有點不對。而不是HH的時間,你想要hh

0

這裏是我使用的代碼。代碼已經在工作。

NSDate *currentDate = [[NSDate alloc] init]; 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
dateFormatter setDateFormat:@"MMM dd,yyyy hh:mm a "]; 
NSString *localDateString = [dateFormatter stringFromDate:currentDate]; 
NSLog(@"localDateString : %@",localDateString); 

我希望它有幫助。