gpt4 book ai didi

ios - 如何在 iOS 中获取正确的当前时间?

转载 作者:搜寻专家 更新时间:2023-11-01 05:47:02 26 4
gpt4 key购买 nike

我知道这是重复的问题。我已经查看了很多答案,但仍然没有找到任何解决方案。

我的问题是,如果用户手动设置了设备时间,我如何获取设备时间......?

我实现了一个聊天应用程序。但是在这个应用程序中,我遇到了时间问题。如果用户手动设置了时间,那么我们如何识别?

我想获得正确的当前 UTC 时间。所以使用它,我可以识别设备时间和 UTC 时间之间的差异。

如果我们使用 NSDate *currentDateAndTime = [NSDate date];,那么它只根据设备返回 UTC 时间,而不是当前的 UTC 时间。

有什么简单的方法可以找到这个解决方案吗?

如有任何帮助,我们将不胜感激。

最佳答案

iOS 中没有可信的时间源。您只需操作单调和非单调时间。

Monotonic 时间(或绝对时间)表示自过去某个任意固定点以来经过的绝对挂钟时间。 CACurrentMediaTime()mach_absolute_time 返回单调时间。

非单调时间表示机器对当前挂钟时间的最佳猜测。它可以随着系统时间时钟的更改而向前和向后跳转。 [NSDate date] 调用返回它。

作为一个选项,您可以从 http Date 响应 header 中获取受信任的日期/时间。然后将它和当前的单调时间(CACurrentMediaTime())保存在钥匙串(keychain)中。下面是获取当前可信时间的方法:

上次已知在线时间 +(CACurrentMediaTime() - 保存的单调时间)

另一种解决方案是使用 NTP 服务器。

关于ios - 如何在 iOS 中获取正确的当前时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37526014/

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