自定义注解格式化日期,实现@JsonFormat的功能

本文介绍了如何在Java Spring Boot项目中,为了解决每次需要手动设置日期格式的问题,自定义了一个注解@DateFormatter。该注解可以在字段或方法上使用,自动将日期数据格式化为指定格式,简化了前端展示日期时的格式转换操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 前言
    从数据库获取时间传到前端进行展示的时候,数据库中可能是正确的时间格式,但是如果显示到前端,却变成了一串时间戳。后端传入到前端可能需要某个格式,比如常见的yyyy-MM-dd 或者 yyyy-MM-dd HH:mm:ss,我们经常使用的注解有@JsonFormat 和@JSONField。@JsonFormat每次使用都需要定义好具体的格式(pattern),比如:@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createdDate;,@JsonField也是一样,实话实话,很麻烦,所以打算自己自定义一个@DateFormatter。

  2. 具体实现过程
    首先我们需要定义一个注解@DateFormatter。@Target中注明可以写在方法上以及属性上。

import java.lang.annotation.*;

@Target({
   ElementType.METHOD,ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface DateFormatter {
   

    String pattern() default "yyyy-MM-dd HH:mm:ss";

}
	定义一个DateSerializer Class 
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import org.apache.commons
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值