用GET方法传时间到java后台的方法,从网上查的资料和自己摸索的出来的结论
实体类直接放在参数名作为Controller中方法的形参
@GetMapping("/cars")
@ResponseBody
public String test(Car car){
System.out.println("时间="+car.getDatetime());
System.out.println("结束时间="+car.getEndtime());
return "请求成功";
}
将类中的Date类型属性加入@DateTimeFormat注解
@DateTimeFormat(pattern = "yyyy/MM/dd")
private Date datetime ;
@DateTimeFormat(pattern = "yyyy/MM/dd")
private Date endtime;
如果的时间格式是年月日,传过来的参数就是年月日
输出结果:
时间=Fri Dec 02 00:00:00 CST 2011
结束时间=Sun Jan 05 00:00:00 CST 2020
@DateTimeFormat类型可以可以精确到秒
@DateTimeFormat(pattern = "yyyy/MM/dd HH/mm/ss")
private Date datetime ;
@DateTimeFormat(pattern = "yyyy/MM/dd HH/mm/ss")
private Date endtime;
输出:
时间=Fri Dec 02 13:20:38 CST 2011
结束时间=Sun Jan 05 05:39:45 CST 2020
前端传时间的格式要严格遵守 @DateTimeFormat pattern的规范
yyyy/MM/dd HH/mm/ss 和yyyy-MM-dd HH:mm:ss传入时间写法不一样
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date datetime ;
输出:
时间=Fri Dec 02 13:20:38 CST 2011
传如单个时间参数可以不通过实体类,直接将传入参数作为方法形参
加入@RequestParama 和@DateTimeFormat
@GetMapping("/cars")
@ResponseBody
public String test(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date datetime){
System.out.println("时间="+datetime);
输出:
时间=Sat Dec 18 00:00:00 CST 2021