当我打电话
NSDate *now = [[NSDate alloc] init];
为了获得当前的日期和时间,我检查它:
NSLog(@"Date now: %@", now);
输出的日期是过去一小时。
2010-10-08 12:04:38.227 MiniBf[1326:207] 现在:2010-10-08 11:04:38 GMT
我的时区是否在某个地方设置不正确?
谢谢!
迈克尔
当我打电话
NSDate *now = [[NSDate alloc] init];
为了获得当前的日期和时间,我检查它:
NSLog(@"Date now: %@", now);
输出的日期是过去一小时。
2010-10-08 12:04:38.227 MiniBf[1326:207] 现在:2010-10-08 11:04:38 GMT
我的时区是否在某个地方设置不正确?
谢谢!
迈克尔
我已经看到在 iOS 4.1 设备上运行的 DatePicker 上的这种行为,而在 iOS 4.0 和以前的设备上并没有发生。我无法确认它实际上是同一个错误。
但我建议您通过在 < 4.1 上运行该代码来检查是否与 Apple 承认的有关日期/夏令时/4.1 的错误有关。然后,您需要决定是破解该特定版本/日期的修复程序,还是等待 SDK 的下一个版本修复它并且不支持 4.1 设备...
我正在谈论的错误我相信只会在夏季期间(2010 年:3 月 28 日 - 10 月 31 日)内通过日期时发生
使用 NSDate *now = [NSDate 日期];
我正在使用它并给我完美的结果。
也许您的 iPhone 模拟器中的时区错误。按主页按钮,转到 settings.app 并更正它;)
使用 NSDateFormatter 本地化日期:
NSLog(@"%@",[NSDateFormatter localizedStringFromDate:[NSDate date] dateStyle:NSDateFormatterShortStyle timeStyle:NSDateFormatterShortStyle]);