gpt4 book ai didi

ios - 不针对时区进行调整的本地通知

转载 作者:可可西里 更新时间:2023-11-01 03:31:22 25 4
gpt4 key购买 nike

我正在安排一个带有 NSDate 的本地通知,时间设置为晚上 9 点,并将通知的时区设置为 UTC/GMT。

如果我将设备时区设置为 UTC(时间设置为晚上 8 点 59 分),则通知会按预期在晚上 9 点触发。

但是,如果我将设备时区设置为美国西海岸(即直接将其设置为西雅图或库比蒂诺或 PDT 等)并将时间设置为下午 1.59,或者将设备时区设置为美国东海岸并将时间设置为下午 4.59,然后通知不会分别在下午 2 点或下午 5 点触发。

但我期望它应该这样做,因为当现在是世界标准时间晚上 9 点时,按照每年这个时候的当前夏令时,世界标准时间晚上 9 点相当于东部时间下午 5 点和西部时间下午 2 点。

如果我将设备上的时间设置为晚上 8 点 59 分,而设备时区是太平洋夏令时,那么通知将在晚上 9 点触发,即使我已将通知中的时区设置为 UTC/GMT,这是不正确的,因为太平洋夏令时间晚上 9 点不是世界标准时间晚上 9 点。

因此在我看来,操作系统忽略了我设置的通知时区。有人能解释为什么它没有按预期工作吗?

谢谢

最佳答案

参见 UILocalNotificationtimeZone 属性的文档:

... If you assign a valid NSTimeZone object to this property, the fire date is interpreted as a wall-clock time that is automatically adjusted when there are changes in time zones; an example suitable for this case is an an alarm clock.

所以我假设如果您想要通知的绝对时间,您必须分配时区。

关于ios - 不针对时区进行调整的本地通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11801654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com