/** * 取北京時間 * @return */ public static String getBeijingTime(){ return getFormatedDateString(8); } /** * 取班加羅爾時間 * @return */ public static String getBangaloreTime(){ return getFormatedDateString(5.5f); } /** * 取紐約時間 * @return */ public static String getNewyorkTime(){ return getFormatedDateString(-5); } /**
* 此函數非原創,從網上搜索而來,timeZoneOffset原為int類型,為班加羅爾調整成float類型 * timeZoneOffset表示時區,如中國一般使用東八區,因此timeZoneOffset就是8 * @param timeZoneOffset * @return */ public static String getFormatedDateString(float timeZoneOffset){ if (timeZoneOffset > 13 || timeZoneOffset < -12) { timeZoneOffset = 0; } int newTime=(int)(timeZoneOffset * 60 * 60 * 1000); TimeZone timeZone; String[] ids = TimeZone.getAvailableIDs(newTime); if (ids.length == 0) { timeZone = TimeZone.getDefault(); } else { timeZone = new SimpleTimeZone(newTime, ids[0]); } SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); sdf.setTimeZone(timeZone); return sdf.format(new Date()); }