数据格式化,从本质上讲属于数据转换的范畴。Spring就是基于数据转换框架植入“格式化”功能的。
时间是一个比较常用的类型。显示的时候通常是以String显示的。如果前端参数,前端人员也希望用String作为参数。而使用注解处理这些转换,显得就会特别的优雅
@DatetimeFormat(pattern=“yyyy-MM-dd”)是将String转换成Date,一般前台给后台传值时用 @JsonFormat(pattern=“yyyy-MM-dd”) 将Date转换成String 一般后台传值给前台时 此处注意:@JsonFormat会让时间以0区时间显示。如果直接使用会少了8小时(我所在的是北京时区)修改为 @JsonFormat(pattern=“yyyy-MM-dd”,timezone=“GMT+8”) @NumberFormat(pattern="#,###") 用来格式化货币(这样前端得传形如1,000。而不能是1000了哟,其实这个用得一般还比较少一点)
public class Student {
private String name;
private Integer gender;
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date birth;
@NumberFormat(pattern="#,###")
private Integer salary;
public Student(String name, Integer gender, Date birth, Integer salary) {
super();
this.name = name;
this.gender = gender;
this.birth = birth;
this.salary = salary;
}
}
在提交时就可以时间格式写成这样
备注:如果是Java8类型的日期。比如LocalDate、LocalTime、LocalDateTime。一般借用@DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)方式。但是具体情况具体在分析