我知道这是时区问题,但我不知道如何解决。
我有一个 NSDate = 2013-07-29 01:10:01 +0000
当我执行 NSDateComponent
时,日期组件显示 28
!
我现在在 EST
时区,但为什么不直接显示 29
?这是错误吗?
如果不是,我该如何解决才能正确显示?还是已经合适了?
谢谢。
最佳答案
问题是您的日历实例当前设置为您的时区,因此它将日期解释为比格林威治标准时间早 5 小时(这是您在问题中粘贴的内容)。
要解决此问题,您应该在您使用的日历上设置 timeZone
属性,以使日期组件脱离日期。假设您的日历变量名为 calendar
,这样的事情可能会成功:
calendar.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0];
关于ios - NSDateComponent 给我一天递增 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18140186/