我正在开发一个使用大量日期的应用程序,但这完全不依赖于时间。我想在内部将它们存储为NSDates,这样我就可以使用NSDatePicker控件、内置的日期函数等。
然而,我一直被NSDates坚持存储时间和日期的事实所绊倒。许多日期初始化函数要么附加当前时间,要么附加任意时间。我已经编写了我的代码,通过将时间组件设置为0来清除所有日期上的时间-但即使这样,时区问题也会搞砸一些比较(例如,如果本地时区的当前日期与GMT中的日期不同,则将当前日期与特定日期进行比较会产生错误的结果)。
当然有更好的方法来解决这个问题...?
发布于 2012-10-16 13:41:05
正如Thilo提到的,答案是设置一个固定的时区。
请注意,这还不够。最初,我选择了GMT,并将时间固定在00:00:00。碰巧的是,这是一个愚蠢的举动,因为任何实际的时间调整都会导致问题。就像,说...将该值加载到DatePicker控件中,然后在格林威治时间以西的时区凌晨1点左右使用该应用程序。哇哦。
为了解决大多数问题,我选择了GMT,并将时间设置为固定的12:00:00。这将使格林威治时间以东或以西的11个时区的日期保持同步。
https://stackoverflow.com/questions/12791985
复制相似问题