1

我正在开发一个使用大量日期的应用程序,但这根本不依赖于时间。我想在内部将它们存储为 NSDates,以便我可以使用 NSDatePicker 控件、内置日期函数等。

然而,我一直对 NSDates 坚持存储时间和日期的事实感到不安。许多日期初始化函数会附加当前时间或任意时间。我已经编写了代码,通过将时间组件设置为 0 来消除所有日期的时间 ​​- 但即便如此,时区问题也会破坏一些比较(例如,将当前日期与特定日期进行比较会产生错误的答案如果本地时区的当前日期与 GMT 的日期不同)。

当然有更好的方法来解决这个问题......?

4

1 回答 1

1

正如 Thilo 所提到的,答案是设置一个固定的时区。

请注意,这还不够。最初,我选择了 GMT,并将时间固定在 00:00:00。碰巧,这是一种愚蠢的举动,因为任何实际的时间调整都可能导致问题。比如说...将该值加载到 DatePicker 控件中,然后在格林威治标准时间以西的时区凌晨 1 点左右使用该应用程序。哎呀。

为了解决大多数这些问题,我选择了 GMT并将时间设置为固定的 12:00:00。这应该使 GMT 以东或以西 11 个时区的日期保持同步。

于 2012-10-16T05:41:05.383 回答