我正在尝试获取我的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)
获取时间。但这只会返回设备/系统日期。
我想要的只是获取实际日期。 (例如,我 12月3日不是12月4日)。
我还尝试从GPS获取时间,但这只会返回最后一个已知位置的时间,这可能会给我带来麻烦。
答案 0 :(得分:0)
如果您不信任用户设备时间,则必须使用NTP(网络时间协议)服务器
我找到了这个存储库: https://github.com/AllanHasegawa/Tempo
答案 1 :(得分:0)
如果您不信任用户设置或设备时间,则可以简单地使用API,例如http://worldtimeapi.org/,并在任意时区中从中获取当前时间。