Java如何将“2018-12-27T16:00:00.000Z”字符串转为Date或者转成“yyyy-MM-dd”

将“2018-12-27T16:00:00.000Z”转为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 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;
}

你可能感兴趣的:(java杂谈)