public static String UTCStringtODefaultString(String UTCString) { try { UTCString = UTCString.replace("Z", " UTC"); SimpleDateFormat utcFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss Z"); SimpleDateFormat defaultFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = utcFormat.parse(UTCString); return defaultFormat.format(date); } catch (ParseException pe) { pe.printStackTrace(); return null; } } public String dealDateFormat(String oldDate) { Date date1; DateFormat df2; try { oldDate = oldDate.replace("Z", " UTC"); DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss Z"); Date date = df.parse(oldDate); SimpleDateFormat df1 = new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy", Locale.UK); date1 = df1.parse(date.toString()); df2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return df2.format(date1); } catch (ParseException e) { e.printStackTrace(); return null; } }
UTC日期即世界时,即格林尼治平太阳时,是表示地球自转速率的一种形式。
UTC就是世界标准时间,与北京时间相差八个时区。所以只要将UTC时间转化成一定格式的时间,再在此基础上加上8个小时就可得到北京时间。
如果后面带.000毫秒值就修改为
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z");