2015-04-23 129 views
-3

我得到的值爲2015-04-22 10:43:57從服務器,但轉換成NSDate時出現問題。我想將其轉換爲NSDate,並轉換爲NSString中給出的相同格式。這裏是我的代碼NSDate時間問題

// getting from server 

NSString *[email protected]"2015-04-22 10:43:57"; 
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 
NSDate *aDate = [dateFormat dateFromString:dateString]; 

如果我會得到與timezone dateString然後將它解決。

+0

什麼問題?你得到什麼輸出? –

回答

0

您的代碼看起來正確。 我想象你在格式化時出現時區問題。您culd addnit您NSDateFormatter指定如果輸入的日期是從特定的timeZone

// set date format 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; 
dateFormatter.timeZone = [NSTimeZone timeZoneWithName:@"UTC"]; 
0

請使用下面的代碼

NSString *[email protected]"2015-04-22 10:43:57"; 
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 
NSTimeZone* localTimeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"]; 
dateFormat.timeZone=localTimeZone; 
NSDate *aDate = [dateFormat dateFromString:dateString]; 

輸出:2015年4月22日10時43分57秒+0000

希望它可以幫助你..!

0

您的代碼是正確的。您只需將此行添加到您的代碼中即可。

//This will set time zone of your device.You can change systemTimeZone to localTimeZone based on your need. 

[dateFormat setTimeZone:[NSTimeZone systemTimeZone]];