的NSString的NSDate转换得到错误的结果
问题描述:
可能重复:
Wrong time from NSDateFormatter
NSDate is 5 hours off的NSString的NSDate转换得到错误的结果
我想的NSString转换成NSDate的与代码
result = @"2012-02-09";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [dateFormatter dateFromString:result];
[dateFormatter release];
NSLog(@"date: %@", dateFromString);
但日期转换给不正确的结果,在日志中:
2012-02-07 13:08:29.553 Document[611:15503] date: 2012-02-08 19:00:00 +0000
有人可以告诉我什么是错的我的代码?
答
要使用的NSLog显示你应该用你的格式化的日期,以便将NSDate的与你的时区进行格式化:
NSLog(@"date: %@", [dateFormatter stringFromDate:dateFromString]);
重复的27,000,000其他SO问题 - 你的时区是GMT +5(巴基斯坦) ,NSDate将自己记录为GMT。你的代码没有问题。如果你想从一个日期的本地字符串值,通过一个NSDateFormatter传回日期,不要记录它。 – jrturton 2012-02-07 08:27:32
没有什么错 - 你只需要设置时区。 – tilo 2012-02-07 08:27:38