刚刚处理了这个问题,主要原因在于实体字段的类型,所以在此记录一下。
数据库里是标准日期格式,如下图:
我先展示实体字段 createTime使用不同类型得到的日期效果:
- 1、java.util.Date
import java.util.Date;
public class Menu {
private Integer id;//自增id
private String menuName;//菜单名字
private String url;//页面链接
private Integer parentId;//0表示一级菜单
private String icon;//菜单图标
private String isDel;//假删除标志 0启用 1删除
private Integer orderNo;//排序字段 越大越往后
private String parentName; //父菜单名称
//@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date createTime; //创建时间
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getParentName() {
return parentName;
}
我这里这两个都无效://@DateTimeFormat(pattern = “yyyy-MM-dd HH:mm:ss”)
//@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”,timezone = “GMT+8”)
页面展示:
可以看到使用java.util.Date后前台返回的日期格式是一个长字符串
- 2、使用java.sql.Date
import java.sql.Date;
public class Menu {
private Integer id;//自增id
private String menuName;//菜单名字
private String url;//页面链接
private Integer parentId;//0表示一级菜单
private String icon;//菜单图标
private String isDel;//假删除标志 0启用 1删除
private Integer orderNo;//排序字段 越大越往后
private String parentName; //父菜单名称
//@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date createTime; //创建时间
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
页面展示:
可以看到使用 java.sql.Date 虽然得到了年月日却丢失了时分秒
- 3、使用 String
private Integer id;//自增id
private String menuName;//菜单名字
private String url;//页面链接
private Integer parentId;//0表示一级菜单
private String icon;//菜单图标
private String isDel;//假删除标志 0启用 1删除
private Integer orderNo;//排序字段 越大越往后
private String parentName; //父菜单名称
//@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private String createTime; //创建时间
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
页面效果:
总结:如果你使用注解
@DateTimeFormat(pattern = “yyyy-MM-dd HH:mm:ss”)
@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”,timezone = “GMT+8”)
都无效的情况下,建议可以将实体字段类型改成String。
如果对你有帮助,麻烦不吝“点赞”谢谢: