2015-04-23 73 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]];