Javaは、「2018-12-27 T 16:00:00.000 Z」文字列をDateまたは「yyyy-MM-dd」に変換する方法

2094 ワード

「2018-12-27 T 16:00:00.000 Z」をDateに変更
String TimeStart = preCallbackTimeStart.replace("Z", " UTC");
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z");
Date callbackTimeStart = format.parse(TimeStart);    //Fri Dec 28 00:00:00 GMT+08:00 2018

「Fri Dec 28 00:00:00:00 GMT+08:00 2018」から「yyyy-MM-dd」へ
String preCallbackTime = "";
try {
    String callbackTimeStart = format.parse(TimeStart).toString();
    SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.US);
    TimeZone tz = TimeZone.getTimeZone("GMT+8");
    sdf.setTimeZone(tz);
    Date parse = sdf.parse(callbackTimeStart);
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
    preCallbackTime = simpleDateFormat.format(parse);
} catch (ParseException e) {
    e.printStackTrace();
}
  public String getPreCallbackTime(String preCallbackTimeStart){
        if (!preCallbackTimeStart.contains("T")){
            return preCallbackTimeStart;
        }
        String TimeStart = preCallbackTimeStart.replace("Z", " UTC");
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z");
        String preCallbackTime = "";
        try {
            String callbackTimeStart = format.parse(TimeStart).toString();
            SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.US);
            TimeZone tz = TimeZone.getTimeZone("GMT+8");
            sdf.setTimeZone(tz);
            Date parse = sdf.parse(callbackTimeStart);
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
            preCallbackTime = simpleDateFormat.format(parse);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return preCallbackTime;
}