可靠的午夜事件计数器

时间:2014-02-26 14:55:00

标签: objective-c date timezone counter

我有一定数量的元素,每个元素代表一天。 每次午夜发生(即>>> 用户<<<时间= 00:00),我希望列表中的“当前”元素到期(和下一个将取而代之。)现在这看起来很简单,但是当你开始刮擦表面时,它是一团糟(至少根据我而言)。问题始于时区。如果午夜发生,在此之后我将我的时区更改为此特定午夜尚未发生的时区,那么当它在新时区中“再次”发生时,我不想再计算它(过期的元素应该保持过期而取代它的元素应该算作当前元素)。此外,当应用程序暂停/关闭几天时,我希望它根据自上次使用以来发生的有效午夜数量进行更新(正如我所看到的,这使得使用UIApplicationSignificantTimeChangeNotification毫无意义,因为它只是发送到最近通过的午夜)。

理想情况下,我希望这些元素完全不知道日期和时间;它们应该只是一个列表0,1,2,3,...以及一个“当前元素”指针(即一个简单的整数),它将在每个有效的午夜出现时增加。

您如何建议我实施此目标?

1 个答案:

答案 0 :(得分:2)

将它基于UTC午夜,这样无论您在哪个时区,您都不会受到当地时间变化的影响。它完全消除了时区问题。