我不知道哪一个适合获取 UTC 时间
我的代码是
System.currentTimeMillis()
对于java android
国际结果正确吗?
也许用户可以更改设备时间并且结果会有所不同? (对UTC有影响吗?)
最佳答案
在Linux平台上,系统时钟应设置为UTC。是否真实、是否准确,最终取决于用户。
调用System.currentTimeMillis()
将给出自1970-01-01T00:00:00Z
以来的UTC时间。
Is the result correct for international?
是的。前提是时钟与良好的网络时间源同步并且用户没有弄乱它。
Maybe user can change device time and result be different?
是的,他们可以。您对此无能为力。
您可以尝试连接到网络时间服务器,但用户可能会阻止该操作,或者导致您的游戏连接到虚假时间服务器。如果他们“拥有”您的游戏运行的平台,您可能无法获得有保证的可靠时间。
(维基百科页面 NTP 讨论了中间人攻击。不幸的是,标准 NTP 没有办法处理这个问题。有一个 draft RFC 用于网络时间安全,但它们自 2015 年以来一直在致力于此,但在撰写本文时仍未得出结论。)
关于java - 如何在android中获取准确的UTC时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57216919/