g.r*_*ion 81 java datetime android utc java.util.date
我想以毫秒获得当前的UTC时间.我搜索了谷歌并得到了一些回答,System.currentTimeMillis()确实返回UTC时间.但事实并非如此.如果我这样做:
long t1 = System.currentTimeMillis();
long t2 = new Date().getTime();
long t3 = Calendar.getInstance().getTimeInMillis();
Run Code Online (Sandbox Code Playgroud)
所有三次几乎相同(由于通话,差异以毫秒为单位).
t1 = 1372060916
t2 = 1372060917
t3 = 1372060918
Run Code Online (Sandbox Code Playgroud)
这个时间不是UTC时间,而是我的时区时间.我怎样才能在android中获得当前的UTC时间?
Jon*_*eet 119
您显示的所有三行都将给出自unix时期以来的毫秒数,这是一个固定的时间点,不受当地时区的影响.
你说"这个时间不是UTC时间" - 我怀疑你确实错误地诊断出来了.我建议使用epochconverter.com.例如,在您的示例中:
1372060916 = Mon, 24 Jun 2013 08:01:56 GMT
Run Code Online (Sandbox Code Playgroud)
我们不知道您何时生成该值,但除非它实际上是在UTC时间上午8:01,否则系统时钟会出现问题.
它本身System.currentTimeMillis
的价值也不会Date
受到时区的影响.但是,您应该知道Date.toString()
确实使用了本地时区,这会误导许多开发人员认为a Date
本身与时区相关联 - 它不是,它只是一个时间点,没有相关的时区甚至日历系统.
归档时间: |
|
查看次数: |
76909 次 |
最近记录: |