转换yyyy-MM-dd HH:mm:ss( DateUtils)
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.regex.Pattern;
/**
* @ Author :L&C
* @ Date : 2019/12/31 15:13
* @ Description :时间转换
*/
public class DateUtils {
public final static String FORMAT_STRING = "yyyy-MM-dd HH:mm:ss";
public final static String FORMAT_STRING2 = "EEE MMM dd yyyy HH:mm:ss z";
public final static String[] REPLACE_STRING = new String[]{"GMT+0800", "GMT+08:00"};
public final static String SPLIT_STRING = "(中国标准时间)";
public static String parseTimeZone(String dateString) {
try {
dateString = dateString.split(Pattern.quote(SPLIT_STRING))[0].replace(REPLACE_STRING[0], REPLACE_STRING[1]);
//转换为date
SimpleDateFormat sf1 = new SimpleDateFormat(FORMAT_STRING2, Locale.ENGLISH);
Date date = sf1.parse(dateString);
return new SimpleDateFormat(FORMAT_STRING).format(date);
} catch (Exception e) {
throw new RuntimeException("时间转化格式错误" + "[dateString=" + dateString + "]" + "[FORMAT_STRING=" + FORMAT_STRING + "]");
}
}
public static void main(String[] args) {
String date = parseTimeZone("Wed Dec 20 2019 00:00:00 GMT+0800 (中国标准时间)");
System.out.println(date);
}
}
Spring Boot中返回date为EEE MMM dd HH:mm:ss z yyyy(Wed Dec 20 00:00:00 CST 2019),转换为 yyyy-MM-dd HH:mm:ss
在实体类定义中,定义为date的字段上添加
@JsonFormat(timezone = “GMT+8”, pattern = “yyyy-MM-dd HH:mm:ss”)
并且在其get方法中也添加:
@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”, timezone = “GMT+08:00”)
此时再次获得的该字段的日期格式为yyyy-MM-dd HH:mm:ss