当我打电话
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
我的时区可能在某处错误设置了吗?
谢谢!
迈克尔
答案 0 :(得分:1)
我已经在iOS 4.1上运行的DatePicker上看到了这种行为,而在iOS 4.0及之前它没有发生。我无法确认它实际上是同一个错误。
但我建议您通过在<上运行该代码来检查是否与Apple bug确认日期/夏令时/ 4.1有关。 4.1。然后,您需要决定是否修复特定版本/日期的修复程序或等待SDK的下一个版本修复它而不支持4.1设备...
我正在谈论的错误我相信只会在夏季时间(2010年3月28日 - 10月31日)内通过日期时发生
答案 1 :(得分:0)
使用NSDate * now = [NSDate date];
我正在使用它并给我完美的结果。
答案 2 :(得分:0)
也许你的iPhone模拟器中的时区错了。按主页按钮,转到settings.app并更正;)
答案 3 :(得分:0)
使用NSDateFormatter本地化日期:
NSLog(@"%@",[NSDateFormatter localizedStringFromDate:[NSDate date] dateStyle:NSDateFormatterShortStyle timeStyle:NSDateFormatterShortStyle]);