gpt4 book ai didi

java - Android如何在android中获取两个时区之间的时差?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:26:16 24 4
gpt4 key购买 nike

我需要获取不同时区的两个日期之间的时差。目前我正在这样做:

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 小时。我做错了什么?

最佳答案

getTimeInMillis() 返回 自 UTC 纪元以来的毫秒数。换句话说,时区与它无关。

我怀疑你真的想要:

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";

关于java - Android如何在android中获取两个时区之间的时差?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6760031/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com