本地時間和UTC時間 轉換
阿新 • • 發佈:2019-02-08
本地時間轉UTC時間
// yyyy-MM-dd HH:mm:ss 東八區 +8 public static String parseStringToUtc(String string) { String myTime = ""; if (TextUtils.isEmpty(string)) { return myTime; } else { String Ymd = string.split(" ")[0]; String Hms = string.split(" ")[1]; int newHour = Integer.valueOf(Hms.split(":")[0]) + 8; // 假如 小於 24的時候 正常顯示 大於24 則 天數加1 if (newHour < 24) { if (Hms.split(":").length == 3) { myTime = Ymd + "T" + newHour + ":" + Hms.split(":")[1] + ":" + Hms.split(":")[2]+"Z"; } else if (Hms.split(":").length == 2) { myTime = Ymd + "T" + newHour + ":" + Hms.split(":")[1] + ":00Z"; } else if (Hms.split(":").length == 1) { myTime = Ymd + "T" + newHour + ":00:00Z"; } return myTime; } else { try { newHour = newHour - 24; Date date = (new SimpleDateFormat("yyyy-MM-dd")).parse(Ymd); Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.DATE, 1); Ymd = new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime()); myTime = Ymd + "T" + newHour + ":"; if (Hms.split(":").length == 1) { return myTime + "00:00Z"; } else if (Hms.split(":").length == 2) { return myTime + Hms.split(":")[1] + ":00Z"; } else if (Hms.split(":").length == 3) { return myTime + Hms.split(":")[1] + ":" + Hms.split(":")[2] + "Z"; } else { return ""; } } catch (ParseException e) { Log.e("error", "parseStringToUtc解析異常"); return ""; } } } }
UTC時間轉本地時間
public static Date parseUTCtoDate(String str) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); df.setTimeZone(TimeZone.getTimeZone("UTC")); try { return df.parse(str); } catch (Exception e) { Log.e("error", "DateUtil:" + e.toString()); return new Date(0); } }