我想以毫秒为单位获取当前UTC时间。我搜索了google,并得到了一些System.currentTimeMillis()返回UTC时间的答案。但事实并非如此。如果我执行以下操作:
long t1 = System.currentTimeMillis();
long t2 = new Date().getTime();
long t3 = Calendar.getInstance().getTimeInMillis();
这三个时间几乎都相同(由于通话,相差以毫秒为单位)。
t1 = 1372060916
t2 = 1372060917
t3 = 1372060918
这不是UTC时间,而是我的时区时间。如何在Android中获取当前UTC时间?
4
返回自1970年1月1日UTC
—
Blackbelt
长t3 = Calendar.getInstance(TimeZone.getTimeZone(“ UTC”))。getTimeInMillis();
—
Blackbelt
上面的链接说:“有关“计算机时间”与协调世界时(UTC)之间可能出现的细微差异的讨论,请参见“日期”类的描述。” 并在java.util.Date文档中找到:“尽管Date类旨在反映协调世界时(UTC),但它可能不能完全反映协调的通用时间(UTC),具体取决于Java虚拟机的宿主环境”->因此您的计算机返回非UTC时间的可能性
—
Marco Forberg 2013年
@ g.revolution:这是“自1970年1月1日UTC以来的毫秒数”-您希望如何调整时区?您所在的时区不影响自该时期以来已发生的毫秒数。
—
乔恩·斯基特