1

当我打电话

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

我的时区是否在某个地方设置不正确?

谢谢!

迈克尔

4

4 回答 4

1

我已经看到在 iOS 4.1 设备上运行的 DatePicker 上的这种行为,而在 iOS 4.0 和以前的设备上并没有发生。我无法确认它实际上是同一个错误。

但我建议您通过在 < 4.1 上运行该代码来检查是否与 Apple 承认的有关日期/夏令时/4.1 的错误有关。然后,您需要决定是破解该特定版本/日期的修复程序,还是等待 SDK 的下一个版本修复它并且不支持 4.1 设备...

我正在谈论的错误我相信只会在夏季期间(2010 年:3 月 28 日 - 10 月 31 日)内通过日期时发生

于 2010-11-15T16:48:52.877 回答
0

使用 NSDate *now = [NSDate 日期];

我正在使用它并给我完美的结果。

于 2010-10-08T12:22:27.957 回答
0

也许您的 iPhone 模拟器中的时区错误。按主页按钮,转到 settings.app 并更正它;)

于 2010-10-08T13:32:19.403 回答
0

使用 NSDateFormatter 本地化日期:

NSLog(@"%@",[NSDateFormatter localizedStringFromDate:[NSDate date] dateStyle:NSDateFormatterShortStyle timeStyle:NSDateFormatterShortStyle]); 
于 2010-10-08T15:29:19.600 回答