如何获得当前时间,与设备或系统时间无关?

问题描述 投票:0回答:2

我正在尝试获取我的android应用程序中的实际时间,而不是获取系统/设备返回的时间。

假设今天是12月3日,并且我已将系统日期更改为12月4日,现在我将在应用程序中获得12月4日的日期,这是不正确的。

我已应用以下代码:

val c = Calendar.getInstance()
c.timeZone = TimeZone.getTimeZone("UTC")
val hour = c.get(Calendar.HOUR_OF_DAY)
val minute = c.get(Calendar.MINUTE)
val sec = c.get(Calendar.SECOND)
val mYear1 = c.get(Calendar.YEAR)
val mMonth1 = c.get(Calendar.MONTH)
val mDay1 = c.get(Calendar.DAY_OF_MONTH)

为了节省时间。但这仅返回设备/系统日期。

我只想获取实际日期。 (即在我的情况下不是4 dec)。

我也试图从GPS获取时间,但这只会返回最近一次已知位置的时间,这可能会给我带来麻烦。
android datetime
2个回答
0
投票
如果您不信任用户设置或设备时间,则可以简单地使用API​​,例如http://worldtimeapi.org/,并在任意时区中从中获取当前时间。

0
投票
如果您不信任用户设备时间,则必须使用NTP(网络时间协议)服务器

我找到了这个存储库:https://github.com/AllanHasegawa/Tempo

© www.soinside.com 2019 - 2024. All rights reserved.