Wed Dec 20 2019 00:00:00 GMT+0800 (中國標準時間) 時間轉換

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章