【小家Spring】@DateTimeFormat和@NumberFormat以及@JsonFormat的使用

相关阅读

【小家java】java5新特性(简述十大新特性) 重要一跃
【小家java】java6新特性(简述十大新特性) 鸡肋升级
【小家java】java7新特性(简述八大新特性) 不温不火
【小家java】java8新特性(简述十大新特性) 饱受赞誉
【小家java】java9新特性(简述十大新特性) 褒贬不一
【小家java】java10新特性(简述十大新特性) 小步迭代
【小家java】java11新特性(简述八大新特性) 首个重磅LTS版本


每篇一句

不是井里没有水,而是你挖得不够深。不是成功来得慢,而是你还没有狂奔

前言

数据格式化,从本质上讲属于数据转换的范畴。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;
    }
}

在提交时就可以时间格式写成这样
【小家Spring】@DateTimeFormat和@NumberFormat以及@JsonFormat的使用_第1张图片

备注:如果是Java8类型的日期。比如LocalDate、LocalTime、LocalDateTime。一般借用@DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)方式。但是具体情况具体在分析

知识交流

【小家Spring】@DateTimeFormat和@NumberFormat以及@JsonFormat的使用_第2张图片
若群二维码失效,请加微信号(或者扫描下方二维码):fsx641385712。
并且备注:“java入群” 字样,会手动邀请入群

【小家Spring】@DateTimeFormat和@NumberFormat以及@JsonFormat的使用_第3张图片

你可能感兴趣的:(#,享学Spring,MVC)