page contents

SpringBoot Get 请求如何将一个时间戳转换为Date, 最好是框架原本就有的

Pack 发布于 2020-03-17 11:16
阅读 2108
收藏 0
分类:Java开发

attachments-2020-03-zd5WhuAK5e70421a55dec.png

attachments-2020-03-M53cia3m5e7041f9750d9.png

最佳答案 2020-03-24 17:09

544
Pack
Pack

1.

/**
 * date序列化
 */
@InitBinder
protected void init(WebDataBinder binder) {
    // Date 类型转换
    binder.registerCustomEditor(Date.class, new PropertyEditorSupport() {
        @Override
        public void setAsText(String text) {
            setValue(dataBinder(text));
        }
    });
}

2.

protected Date dataBinder(String value) {
    //常规的日期格式
    Date parseDate = DateUtils.parseDate(value);
    //时间戳
    if (null == parseDate) {
        return new Date(Long.valueOf(value));
    }
    return parseDate;
}

工具类:

/**
 * 日期型字符串转化为日期 格式
 * { "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm",
 * "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm",
 * "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm" }
 */
public static Date parseDate(Object str) {
    if (str == null) {
        return null;
    }
    try {
        return parseDate(str.toString(), parsePatterns);
    } catch (ParseException e) {
        return null;
    }
}

常规日期格式:

private static String[] parsePatterns = {
        "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM-dd HH", "yyyy-MM",
        "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM/dd HH", "yyyy/MM",
        "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM.dd HH", "yyyy.MM"};

这样写应该可以的吧

请先 登录 后评论