我从服务器获得 2015-04-22 10:43:57 的值,但在转换为NSDate
时遇到问题。我希望将NSDate
转换为NSString
中给出的相同格式。这是我的代码
// getting from server
NSString *dateString=@"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)
您的代码看起来是正确的。 我想你在格式化时遇到了时区问题。你可以在你的NSDateFormatter中添加addnit来指定输入日期是否来自特定的时区
// set date format
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
dateFormatter.timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
答案 1 :(得分:0)
请使用以下代码
NSString *dateString=@"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];
OutPut: 2015-04-22 10:43:57 +0000
希望它可以帮助你......!
答案 2 :(得分:0)
您的代码是正确的。您只需尝试将此行添加到您的代码中。
//This will set time zone of your device.You can change systemTimeZone to localTimeZone based on your need.
[dateFormat setTimeZone:[NSTimeZone systemTimeZone]];