• 后端处理前端传过来的日期的两种方式


    一、注解处理

    1、在实体中加入注解@JsonFormat:

    @JsonFormat(pattern="yyyy-MM-dd HH:mm")
    private Date measurementtime;


    2、@JsonFormat         @DateTimeFormat            @Temporal 日期注解区分

    @JsonFormat 此注解用于属性或者方法上(最好是属性上),可以方便的把Date类型直接转化为我们想要的模式
    @JsonFormat(pattern="yyyy-MM-dd HH:mm")
    private Date measurementtime;

    @DateTimeFormat 格式化日期使用@DatetimeFormat很简单,这里需要注意的是:使用时要引入一个类库joda-time-1.3.jar,否则会无法访问相应路径(400错误)
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date installdate;

    @Temporal Hibernate注解
              如果在某类中有Date类型的属性,数据库中存储可能是’yyyy-MM-dd hh:MM:ss’要在查询时获得年月日,在该属性上标注@Temporal(TemporalType.DATE) 会得到形如’yyyy-MM-dd’ 格式的日期。
              如果在某类中有Date类型的属性,数据库中存储可能是’yyyy-MM-dd hh:MM:ss’要获得时分秒,在该属性上标注 @Temporal(TemporalType.TIME) 会得到形如’HH:MM:SS’ 格式的日期。
             如果在某类中有Date类型的属性,数据库中存储可能是’yyyy-MM-dd hh:MM:ss’要获得’是’yyyy-MM-dd hh:MM:ss’,在该属性上标注 @Temporal(TemporalType.TIMESTAMP) 会得到形如’HH:MM:SS’ 格式的日期


    @Temporal(TemporalType.TIMESTAMP)
    private Date acceptancedate;

    二、工具类处理

    import org.springframework.util.StringUtils;

    import java.text.SimpleDateFormat;
    import java.util.Date;

    /**
    * @ClassName: DateConverter
    * @Description:
    * @Version: v1.0.0
    * @Author: Fu Hao
    * @Date: 2019/11/24 0024 下午 9:02
    * Modification History:
    * Date Author Version Description
    * -------------------------------------------------------------
    * 2019/11/24 0024 Fu Hao v1.0.0 创建
    */
    public class DateConverter {
    private static final String dateFormat = "yyyy-MM-dd HH:mm:ss";
    private static final String shortDateFormat = "yyyy-MM-dd";
    private static final String timeStampFormat = "^\d+$";

    private static final String hDateFormat = "yyyyMMdd HH:mm:ss";
    private static final String hshortDateFormat = "yyyyMMdd";


    public static Date convert(String value) {

    if (StringUtils.isEmpty(value)) {
    return null;
    }

    value = value.trim();

    try {
    if (value.contains("-")) {
    SimpleDateFormat formatter;
    if (value.contains(":")) {
    formatter = new SimpleDateFormat(dateFormat);
    } else {
    formatter = new SimpleDateFormat(shortDateFormat);
    }
    return formatter.parse(value);
    } else if (value.matches(timeStampFormat)) {
    Long lDate = new Long(value);
    return new Date(lDate);
    } else if (value.contains("")) {

    SimpleDateFormat formatter;
    if (value.contains(":")) {
    formatter = new SimpleDateFormat(hDateFormat);
    } else {
    formatter = new SimpleDateFormat(hshortDateFormat);
    }

    return formatter.parse(value);
    }
    } catch (Exception e) {
    throw new RuntimeException(String.format("parser %s to Date fail", value));
    }
    throw new RuntimeException(String.format("parser %s to Date fail", value));
    }
    }


    技术交流请加扣扣:863967089
  • 相关阅读:
    限制容器对CPU的使用
    限制容器对内存的使用
    一张图搞懂容器所有操作
    TQ2440学习笔记——Linux上I2C驱动的两种实现方法(1)
    pr_debug、dev_dbg等动态调试三
    pr_debug、dev_dbg等动态调试二
    TQ2440平台上LCD驱动的移植
    Android如何通过shareduserid获取系统权限
    基于Android的串口聊天室 (基于tiny4412) 一
    Java中的泛型方法
  • 原文地址:https://www.cnblogs.com/xiaoshenke/p/11924369.html
Copyright © 2020-2023  润新知