后端接收前端input标签type=“datetime-local“发送的日期格式

今天打算通过前端传递一个日期,后台接收与当前日期相减,获得一个相查的毫秒数,给redis设置一个TTL,因为用的是原生的input标签type=“datetime-local”,反而有点麻烦

前端html发送的日期格式,控制台打印出来的格式为  yyyy-mm-ddTHH:mm

原本打算后端接收使用LocalDateTime,但是控制台报错,大致意思是前端传的是String类型,有传参的错误,于是我加了

@DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm")

但是还是报一样的错误,只能是用String类型接收,看网上也没找到解决的方法,看来只能手动转格式了

1、数据结构

@Data
public class ReviewAndConfirmVo {
    private List courses;
    private String startDate;
    private String endDate;
}

2、控制层

 @ResponseBody
    @PostMapping("/reviewAndConfirm")
    public AjaxResult reviewAndConfirm(ReviewAndConfirmVo vo) throws Exception {
//start---核心代码
        String format = "yyyy-MM-dd'T'HH:mm";
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        Date startdate = sdf.parse(vo.getStartDate());
        Date enddate = sdf.parse(vo.getStartDate());
//end---核心代码
        System.out.println(startdate);
        System.out.println(enddate);
        return AjaxResult.success();
    }

后续可以转为时间戳等进行计算或存储。

你可能感兴趣的:(bug笔记)