1
我需要的是特定時區(「俄羅斯/莫斯科」)和用戶本地時間之間的時差,差異應以小時爲單位。安卓時區差異小於1小時
我遇到了時差的差異有時會被錯誤計算的問題。我計算出android設備的本地偏移量與UTC的偏移量(以小時爲單位),以及遠程偏移到UTC。對於大多數用戶來說很好..但很多用戶抱怨這個問題..我無法在我的手機或模擬器中重現它。 「錯誤」顯示的時間差異是所有方式少於1小時。 在莫斯科現在是15:00,在歐洲12:00。但用戶看到2小時的偏移量 這裏是我的代碼。
String tz="Europe/Moscow"
Calendar mCalendar = new GregorianCalendar();
mCalendar.setTimeZone(TimeZone.getTimeZone(tz));
TimeZone mTimeZone = mCalendar.getTimeZone();
int remote = mTimeZone.getRawOffset()/1000/60/60;
Calendar mCalendar2 = new GregorianCalendar();
TimeZone mTimeZone2 = mCalendar2.getTimeZone();
int local = mTimeZone2.getRawOffset()/1000/60/60;
return local - remote;
由於「夏令時」/「夏令時」,您的時鐘每年向前/向後兩次?看看你在減法之前得到的數字。 –
我不知道,因爲它不會發生在我身上。通過我的電話就可以了。這些是來自用戶的錯誤報告.. :( – user1908375
莫斯科目前比倫敦早了4個小時,儘管在夏季,它將提前3小時,因爲英國在春季將時鐘向前推進一小時,其他國家也會這樣做。考慮到這一點?在抱怨用戶和不抱怨用戶之間存在一種模式?請看這些國家的時間,以及他們是否改變時鐘。 –