UTC时间与本地时间转换

/**
* UTC时间转成本地时间
* 把带t和z的时间转换成相应的时间格式(对应时区)
* @param tzTime 传入的时间(格式为:2016-08-15T16:00:00.000Z)
* @param foramt 返回的时间类型
* @return
*/
public static String UTCChangeToLocal(String tzTime, String foramt) {
  tzTime = tzTime.replace("Z", " UTC");
  SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z");
  String res = "";
  try {
    Date d = format.parse(tzTime);
    SimpleDateFormat formats = new SimpleDateFormat(foramt);
    Calendar cal = Calendar.getInstance();
    cal.setTime(d);
    res = formats.format(cal.getTime());
  } catch (Exception e) {
    e.printStackTrace();
  }
  return res;
}

/**
* 本地时间转成UTC时间
* @param date 本地时间
* @param Localformat 本地时间格式(例如:yyyyMMdd HH:mm:ss 如果没有后面的HH:mm:ss 这默认为00:00:00)
* @param returnFormat 要返回的时间格式(yyyyMMdd HH:mm:ss)
* @return
*/
public static String LocalChangeToUTC(String date, String localformat, String returnFormat) {
  try {
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat(returnFormat);
    simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
    SimpleDateFormat sdf = new SimpleDateFormat(localformat);
    Date newDate = sdf.parse(date);
    return simpleDateFormat.format(newDate);
  } catch (Exception e) {
    e.printStackTrace();
  }
  return "";
}

原文地址:https://www.cnblogs.com/baimj/p/14095655.html