轉換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