2011-09-22 92 views
0

我有一个古怪的Tapku图书馆日历问题。Tapku图书馆日历奇怪的时区问题

我在Tapku图书馆日历中显示活动。我从美国/多伦多时区的服务器获取日期。即。 -500。

我的系统和日历时区设置为加拿大多伦多的设置应用程序。

所以,问题是当日历显示错误的一天视图(日瓦)一个事件。活动于2011年11月16日举行,并于17日在日历上显示。

11/16/2011 17:00 -0500 

因此,我找到了使时区为GMT的解决方案。

[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]]; 

而上面的工作正好与多伦多时区。现在,我将我的时区设置到意大利罗马,并且假设它也在16日显示该事件,但它在17日显示。

所以,问题是如果我保持在线以上它与多伦多,加拿大时区和意大利罗马,意大利时区的问题很好,如果我删除这条线,那么它适用于罗马,意大利和多伦多问题,意大利。

为此,我试图设置systemTimeZone和localTimeZone很好,但仍然没有运气。

所以,我应该怎么做,以保持活动的所有时区的正确的日期看法?

如果您需要更多详细信息,请让我知道。

+0

喜深渊,我也面临着同样problem.Can妳告诉我的解决方案,如果你得到了什么? – Tendulkar

+0

对不起,我还没有得到答案。问题仍然存在.. – Deeps

+0

你能发布完整的代码,显示如何解析日期字符串并将其转换为日期吗? –

回答

2

这里是一个答案,一个类似的问题: https://stackoverflow.com/a/9405625/220154

我觉得tapku日历设置GMT:0,因为它使用来比较日期的日期,所以惹了不少与时区。可能您需要在日历中检查要包含哪些日期时将日期缩短为GMT午夜。

希望它有帮助。

2

全部[NSTimeZone timeZoneForSecondsFromGMT:0];应该换成[NSTimeZone systemTimeZone];

当它没有systemTimeZone你必须编辑您的日期走出的UIDatePicker的反映时区时间的变化,如果你不这样做的所有日期将在一天后显示。

这里是问题:https://github.com/devinross/tapkulibrary/issues/40

+0

感谢您的回答...取而代之的所有工作和魅力! – iOSDev