Ios NSDateComponent给我的天数增加1

Ios NSDateComponent给我的天数增加1,ios,objective-c,nsdate,Ios,Objective C,Nsdate,我知道这是一个时区问题,但我不知道如何解决这个问题 我有一个NSDate=2013-07-29 01:10:01+0000 当我执行NSDateComponent时,day组件显示28 我现在在EST时区,但为什么它不直接显示29??这是虫子吗 如果没有,我如何修复它以正确显示它?还是已经合适了 谢谢。问题是您的日历实例当前设置为您的时区,因此它将日期解释为比GMT(您在问题中粘贴的时间)早5小时 要解决此问题,应在日历上设置时区属性,以使日期组件超出日期。假设您的日历变量名为calendar,

我知道这是一个时区问题,但我不知道如何解决这个问题

我有一个
NSDate=2013-07-29 01:10:01+0000

当我执行
NSDateComponent
时,day组件显示
28

我现在在
EST
时区,但为什么它不直接显示
29
??这是虫子吗

如果没有,我如何修复它以正确显示它?还是已经合适了


谢谢。

问题是您的日历实例当前设置为您的时区,因此它将日期解释为比GMT(您在问题中粘贴的时间)早5小时

要解决此问题,应在日历上设置
时区
属性,以使日期组件超出日期。假设您的日历变量名为
calendar
,类似这样的操作可能会奏效:

calendar.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0];

问题是您的日历实例当前设置为您的时区,因此它将日期解释为比GMT(您在问题中粘贴的时间)早5小时

要解决此问题,应在日历上设置
时区
属性,以使日期组件超出日期。假设您的日历变量名为
calendar
,类似这样的操作可能会奏效:

calendar.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0];

EST
时区偏移量:
UTC
-5小时,所以
2013-07-28 20:10:01
EST
时区中,当
2013-07-29 01:10:01
UTC
时区中,july是E D T,即GMT/UTC-4,但除此之外@AndreyGordeev是正确的,并且您的日期是“正确的”。
NSDate
以GMT显示,除非您对其进行格式化,但它所代表的时间是相同的。
EST
时区偏移量:
UTC
-5小时,因此
2013-07-28 20:10:01
EST
时区中,当
2013-07-29 01:10:01
UTC
时区中为E D T时,这是GMT/UTC-4,但除此之外@AndreyGordeev是正确的,您的日期是“正确的”。
NSDate
以GMT显示,除非您对其进行格式化,但它所代表的时间是相同的。