【发布时间】:2011-08-03 16:12:30
【问题描述】:
当我调用 [NSDate date] 时,它返回的时间比它应该返回的时间少 2 小时。我检查了我的电脑时钟设置,它们都正常。我检查了 iPhone 中的设置,时区和时钟都正常。甚至模拟器在顶部工具栏上显示正确的时间。但是,当我尝试记录当前日期时,它显示的时间比应有的时间少 2 小时。我想不出去哪里看。
【问题讨论】:
-
日志输出报告什么时区?你在哪个时区?大概就是这样:格林威治标准时间的 10:00 并不比 +02:00 的 12:00 早 2 小时,它是同一时间,只是格式不同。
-
查看日历?是公历吗?尝试使用
NSLog(@"%@", [[NSTimeZone systemTimeZone] description])检查您的时区 -
它是公历。当我记录 systemTimeZone 时,我得到了 7200 的偏移量,这正是我丢失的 2 小时。但我仍然无法弄清楚使用当地时间的最佳做法是什么。我猜这是格式化程序的问题,但我还是没得到什么?
标签: iphone objective-c xcode ios nsdate