NSDate时间问题
问题描述:
我得到的值为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然后将它解决。
答
您的代码看起来正确。 我想象你在格式化时出现时区问题。您culd addnit您NSDateFormatter指定如果输入的日期是从特定的timeZone
// set date format
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
dateFormatter.timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
答
请使用下面的代码
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
希望它可以帮助你..!
答
您的代码是正确的。您只需将此行添加到您的代码中即可。
//This will set time zone of your device.You can change systemTimeZone to localTimeZone based on your need.
[dateFormat setTimeZone:[NSTimeZone systemTimeZone]];
什么问题?你得到什么输出? –