我正在开发一个使用大量日期的应用程序,但这根本不依赖于时间。我想将它们作为NSDates存储在内部,以便我可以使用NSDatePicker控件,内置日期函数等。
然而,我一直在嘲笑NSDates坚持存储时间和日期这一事实。许多日期初始化函数附加当前时间或任意时间。我编写了我的代码,通过将时间组件设置为0来消除所有日期的时间 - 但即便如此,时区问题搞砸了一些比较(例如,将当前日期与特定日期进行比较会产生错误答案如果当地时区的当前日期与GMT中的日期不同。
当然有更好的方法来解决这个问题......?
答案 0 :(得分:1)
正如Thilo所说,答案是设定一个固定的时区。
请注意,相当不够。最初,我选择了GMT,并在00:00:00修正了时间。碰巧,这是一种愚蠢的举动,因为任何实际的时间调整都可能导致问题。比如说...将该值加载到DatePicker控件中,然后在格林尼治标准时间以西的时区凌晨1点左右使用该应用程序。糟糕。
要解决大部分问题,我选择GMT 和将时间设置为固定的12:00:00。这应该保持GMT东部或西部11个时区的并发日期。