机器人如何让两个时区android系统之间的时间差? [英] Android how to get time difference between two time zones in android?
本文介绍了机器人如何让两个时区android系统之间的时间差?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要在不同时区的两个日期之间的时间差。目前,我这样做:
I need to get time difference between two dates in different time zones. Currently I am doing this:
Calendar c1=Calendar.getInstance(TimeZone.getTimeZone("EDT"));
Calendar c2=Calendar.getInstance(TimeZone.getTimeZone("GMT"));
String diff=((c2.getTimeInMillis()-c1.getTimeInMillis())/(1000*60*60))+" hours";
new AlertDialog.Builder(this).setMessage(diff).create().show();
我得到 0
小时。我究竟做错了什么?
I get 0
hours. What am I doing wrong?
推荐答案
getTimeInMillis()
返回的毫秒数的自UTC时代的。换言之,时区无关它
getTimeInMillis()
returns the number of milliseconds since the epoch in UTC. In other words, the time zone is irrelevant to it.
我怀疑你真正想要的:
long currentTime = System.currentTimeMillis();
int edtOffset = TimeZone.getTimeZone("EDT").getOffset(currentTime);
int gmtOffset = TimeZone.getTimeZone("GMT").getOffset(currentTime);
int hourDifference = (gmtOffset - edtOffset) / (1000 * 60 * 60);
String diff = hourDifference + " hours";
这篇关于机器人如何让两个时区android系统之间的时间差?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文