【发布时间】:2013-10-02 23:49:38
【问题描述】:
您好,我正在创建一个用于设置 Picker 的 NSDate,但是当我将选择器日期输出到 NSLog 时,它总是比实际选择器中显示的时间晚一个小时。
作为一个测试,我注意到代码: NSDate *now = [NSDate 日期]; //应该给我模拟器上的当前日期和时间 NSLog(@"现在的日期和时间:%@", now);
NSLog 值总是比我的模拟器上显示的时间晚 1 小时。
我的问题是为什么?
提前致谢:)
更新 ---------------------------------------------- ----------------------------------
我又做了几个测试,结果发现使用 NSGregorian Calendar 的 NSDate 返回了正确的时间,然后使用 currentCalendar 的 NSDate 关闭了 1 小时。
所以我的新问题是为什么会这样?我检查了模拟器上的设置,并且设备的日历设置为公历。这可能是由于时区差异造成的吗?如果是这样,我有没有办法将选择器设置为与用户设备使用相同的时区?
谢谢
【问题讨论】:
-
尝试使用以下 + (id)dateWithNaturalLanguageString:(NSString *)string locale:(id)localeDictionary 打印日期并使用 [[NSUserDefaults standardUserDefaults] dictionaryRepresentation] 作为 localeDictionary。
-
嗨 Ben,感谢您的评论,但我收到一条错误消息 - 选择器“dateWithNaturalLanguageString:”没有已知的类方法
标签: iphone nsdate picker nscalendar nstimezone