最近搜索

控制器接受 日期 并且 格式化日期 格式化时间

浏览:671
管理员 2019-09-07 23:00



初始化日期格式

	@InitBinder
	public void initBinder(WebDataBinder binder) {
		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
		dateFormat.setLenient(false);
		binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true)); // true:允许输入空值,false:不能为空值
    }	





上面哪种方法抛弃了,可以使用下面这种。 springboot + mybatisplus 项目用的就是这种。


@TableField(value = "yuyue_date1")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")//不加timezone = "GMT+8"时间 好像不对。小时和分不对。
private Date yuyueDate1;

@TableField(value = "yuyue_date2")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")//不加timezone = "GMT+8"时间 好像不对。小时和分不对。
private Date yuyueDate2;


JsonFormat 序列化和反序列化 指定的日期格式。
不用再写以前的
//@JsonSerialize(using = CustomDateSerializer.class) //返回 json格式。
如果2种都在,输出哪一种格式呢。这个还不知道。下次试试。



@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")  这是接受的日期。必须加这个gmt-8 如果是系统创建时间可以不加
private Date founddate;// 发现日期


指定时间日期列名 spring boot + mybatisplush

@TableField(value = "yanqi_date")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")//接受 字符串的时间格式。
private Date yanqiDate;//延期选择的日期





假如数据库是date年月日  接受的字符串是 2025-01-14 02:02:00

class这样写。    

@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")//接受 字符串的时间格式。

private Date founddate;//发现日期

这样也没有问题,不会报错。它会自动呼略后面的 时分秒。



假如数据库是datetime 年月日时分秒 接受的字符串是 2025-01-14 

class这样写。

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")//接受 字符串的时间格式。

private Date founddate;//发现日期

这样写 提交后 报错。


联系站长

站长微信:xiaomao0055

站长QQ:14496453