我需要在Android设备中显示当前的日期和时间。 Calendar.getInstance()或new Date()等代码返回设备时间。但是如果设备时间不正确,将显示不正确的日期。
答案 0 :(得分:0)
您需要使用SNTP(简单网络时间协议)之类的东西连接到受信任的Internet时间服务器。
如果用户还将时区更改为错误的时区,则会出现问题。
在您的情况下,这是一个问题的原因是NTP和SNTP以UTC格式检索时间,这在某种程度上是好的,但显然不会根据设备的地理位置获得“本地”时间。此时,您需要查看地理位置服务,以尝试识别位置和时区,以获得准确的本地日期/时间。
简而言之,对此没有简单的一步到位答案,最终归结为为什么需要这样做。如果用户希望在自己的设备上弄乱他们的日期/时间/时区设置,那么这就是他们的选择。