由於要做一個俄羅斯的項目,所以項目中要用到俄羅斯的當地時間,糾結了好久才轉換過來。
Date d = new Date();
//首先將獲取的當前時間轉換爲時間字符串
String dd = d.toLocaleString();
String format = "yyyy-MM-dd hh:mm:ss";
SimpleDateFormat sdf = new SimpleDateFormat(format);
//GMT+8:00是北京時間的時區
String sourceTimeZone="GMT+8:00";
//GMT+3:00是俄羅斯時間,準確的說是莫斯科時間的時區
String targetTimeZone="GMT+3:00";
//獲取傳入的時間值
Long time = new Date(sdf.parse(dd).getTime()).getTime();
//獲取源時區時間相對的GMT時間
LongsourceRelativelyGMT=time-TimeZone.getTimeZone(sourceTimeZone).getRawOffset();
//GMT時間+目標時間時區的偏移量獲取目標時間
LongtargetTime=sourceRelativelyGMT+TimeZone.getTimeZone(targetTimeZone).getRawOffset();
Date date= new Date(targetTime);
希望對做國外項目的同學有幫助吧。