【发布时间】:2011-12-17 17:59:08
【问题描述】:
我有以下日期:月 = 12 月,日 = 01,年 = 2011。日期以 NSString 形式给出,格式为“111201”(YYMMdd)。现在我想用 NSDateFormatter 把这个字符串解析成一个 NSDate 对象:
self.dateFormatter = [[NSDateFormatter alloc] init];
[self.dateFormatter setDateFormat:@"YYMMdd"];
NSDate* date = [self.dateFormatter dateFromString:strDate];
“111201”的输出是“2011-11-30 23:00:00 +0000”。这对我来说没有意义。
这怎么可能?我希望“2011-12-01 23:00:00 +0000”。
【问题讨论】:
-
看起来您正在读取没有时间信息的日期,因此它假设某个基本时间,然后应用时区偏移量。您的当地时间设置为哪个时区?
-
时区差异不会导致一个月的差异。
-
@samfisher - 这两个日期之间的差异最多只有一天,这很可能是时间线问题。
-
@samfisher 相差 1 小时。 OP 可能在 GMT+1。
-
是的,没错。因为我在欧洲/柏林,所以我是 GMT+1。
标签: ios date nsdateformatter