我有一定数量的元素,每个元素代表一天每次午夜发生(即>>user<<时间=00:00),我都希望列表中的"当前"元素过期(下一个元素将取代它)现在这似乎很容易,但当你开始触及表面时,就会一团糟(至少在我看来是这样)。问题始于时区。如果午夜发生,在此之后,我将时区更改为尚未发生此特定午夜的时区,那么当它在新时区"再次"发生时,我不想再次计数(过期元素应保持过期,而取代它的元素应算作当前元素)。此外,当应用程序暂停/关闭几天时,我希望它根据自上次使用以来发生的有效午夜数进行更新(在我看来,这使得使用UIApplicationSignificantTimeChangeNotification毫无意义,因为它只在最近的午夜发送)。
理想情况下,我希望这些元素完全不知道日期和时间;它们应该只是一个列表0,1,2,3,。。。以及一个"当前元素"指针(即一个简单整数),该指针将在每次午夜有效出现时增加。
你会建议我如何实施这个?
以UTC午夜为基准,这样无论您在哪个时区,都不会受到当地时间变化的影响。它完全消除了时区问题。