web前台传递时间日期格式转换为java.util.date,initBinder或者@DateTimeFormat方式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/y41992910/article/details/86620873

方法1.根据前台传递的日期格式,在后台创建一个参数绑定的方法,将对应的日期字符串,转换为
java.util.date

从界面传递参数到spring后台controller类中,日期格式默认只能传long类型的时间戳

如果想要传递格式化的日期就必须进行特殊处理,原来我们就是了一种在controller类中重载initBinder方法

initBinder日期参数传值

	@InitBinder
	public void initBinder(WebDataBinder binder) throws Exception {
		DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		CustomDateEditor dateEditor = new CustomDateEditor(df, true);
		binder.registerCustomEditor(Date.class, dateEditor);
	}

            @RequestParam(value = "queryDate15", required = false) Date queryDate15,
            @RequestParam(value = "queryDate25", required = false) Date queryDate25,

方法2.
下面我们来说明一下使用注解的方法格式化传递的日期方法:

在属性字段中添加DateTimeFormat注解

import org.springframework.format.annotation.DateTimeFormat;

@DateTimeFormat(pattern=“yyyy-MM-dd”)
private Date arrivePlanTime;

或者(以下代码经过测试可行)

	/**
	 * http://127.0.0.1:8080/xxxx/user/dateTimeFormatTest?querydate=2018-12-12
	 * @return
	 */
	@RequestMapping("/dateTimeFormatTest")
	@ResponseBody
	public Map<String, Object> DateTimeFormatTest(
			@DateTimeFormat(pattern = "yyyy-MM-dd") @RequestParam("querydate") Date querydate
			) {
		System.out.println(querydate);
		Date date = new Date();
		DateTimeFormatTest dateTimeFormatTest = new DateTimeFormatTest();
		dateTimeFormatTest.setDateFormatISO(date);
		dateTimeFormatTest.setDateFormatPattern(date);
		dateTimeFormatTest.setDateNotForMat(date);
		System.out.println(dateTimeFormatTest);
		Map<String, Object> map = new HashMap<String, Object>(1);
		map.put("map", dateTimeFormatTest);
		return map;
	}

猜你喜欢

转载自blog.csdn.net/y41992910/article/details/86620873
今日推荐