今天打算通过前端传递一个日期,后台接收与当前日期相减,获得一个相查的毫秒数,给redis设置一个TTL,因为用的是原生的input标签type=“datetime-local”,反而有点麻烦
前端html发送的日期格式,控制台打印出来的格式为 yyyy-mm-ddTHH:mm <input type="datetime-local" id="stopDateLocal" value="">
原本打算后端接收使用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();
}
后续可以转为时间戳等进行计算或存储。