sam*_*sam 9 java timezone android
我需要在不同时区的两个日期之间获得时差.目前我这样做:
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();
Run Code Online (Sandbox Code Playgroud)
我得到0
几个小时.我究竟做错了什么?
Jon*_*eet 15
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";
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6371 次 |
最近记录: |