SpringBoot中日期的格式化处理

目录

1 前言

2 方法

2.1 添加@JsonFormat注解

2.2 拓展SpringMVC的消息转化器

2.2.1 编写对象映射器

2.2.2 web层配置类中拓展消息转化器


1 前言

为了符合我们日常的习惯,在对日期类数据进行返回的时候,常常需要对其进行格式化的处理。接下来我将介绍两种常用的方式,来帮我们更快更好的解决此类问题。如下:

2 方法

2.1 添加@JsonFormat注解

我们只需要在实体类的属性上添加@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")即可,如下。其中赋值给pattern的内容为日期的格式,可以自行修改成所需类型。

//其它内容...
public class Test {@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")private LocalDateTime createTime;@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")private LocalDateTime updateTime;//其它内容...
}

2.2 拓展SpringMVC的消息转化器

2.2.1 编写对象映射器

固定的模板格式,如下:

//针对LocalDateTime编写的,如果采用其它的如LocalDate等可自行完善添加
public class JacksonObjectMapper extends ObjectMapper {//格式public static final String DEFAULT_DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm";public JacksonObjectMapper() {super();//收到未知属性时不报异常this.configure(FAIL_ON_UNKNOWN_PROPERTIES, false);//反序列化时,属性不存在的兼容处理this.getDeserializationConfig().withoutFeatures(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);SimpleModule simpleModule = new SimpleModule().addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_TIME_FORMAT))).addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_TIME_FORMAT)));//注册功能模块 例如,可以添加自定义序列化器和反序列化器this.registerModule(simpleModule);}
}

2.2.2 web层配置类中拓展消息转化器

同样是模板,CV工程师你值得拥有。

@Configuration
public class WebMvcConfiguration extends WebMvcConfigurationSupport {//其它内容.../*** 扩展SpringMVC的消息转换器* @param converters*/@Overrideprotected void extendMessageConverters(List<HttpMessageConverter<?>> converters) {//创建消息转化器对象MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();//为消息转化器配置一个对象转化器,可以将Java对象序列化为JSON数据converter.setObjectMapper(new JacksonObjectMapper());//将自己的消息转化器加入容器,0代表优先级最高,不会被覆盖converters.add(0,converter);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/692274.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为---RSTP(二)---RSTP基本配置示例

目录 1. 示例要求 2. 网络拓扑图 3. 配置命令 4. 测试终端连通性 5. RSTP基本配置 5.1 启用STP 5.2 修改生成树协议模式为RSTP 5.3 配置根交换机和次根交换机 5.4 设置边缘端口 6. 指定端口切换为备份端口 7. 测试验证网络 1. 示例要求 为防止网络出现环路&#xf…

【论文精读】MAE

摘要 将掩码重建任务从nlp引入到cv&#xff0c;提出非对称掩码自编码器。 框架 概述 如上图&#xff0c;本文提出掩码自编码器&#xff0c;即将给定原始信号的部分观测值的情况下重建原始信号&#xff0c;编码器将观察到的部分信号(没有掩码标记)映射到潜在表示&#xff0c;采…

Golang for 循环

从基础知识到高级技术、并发和通道 Go&#xff08;Golang&#xff09;编程语言中的“for”循环是一个基本而多功能的结构&#xff0c;用于迭代集合、重复执行代码块以及管理循环控制流。Golang的“for”循环语法简洁却强大&#xff0c;为处理多样的循环场景提供了一系列能力。无…

算法-归并应用

题目&#xff1a;给你一个整数数组 nums 以及两个整数 lower 和 upper 。求数组中&#xff0c;值位于范围 [lower, upper] &#xff08;包含 lower 和 upper&#xff09;之内的 区间和的个数 。 区间和 S(i, j) 表示在 nums 中&#xff0c;位置从 i 到 j 的元素之和&#xff0c…

算法——数值算法——牛顿迭代法

目录 牛顿迭代法 一、1021: [编程入门]迭代法求平方根 牛顿迭代法 迭代法&#xff08;Iteration&#xff09;是一种通过反复递推计算来逼近解的方法。而牛顿迭代法&#xff08;Newtons method&#xff09;则是一种特定的迭代法&#xff0c;用于求解方程或函数的根、最小值、最…

MySQL数据库基础(十):DQL数据查询语言

文章目录 DQL数据查询语言 一、数据集准备 二、select查询 三、简单查询 四、条件查询 1、比较查询 2、范围查询 3、逻辑查询 4、模糊查询 5、非空查询 五、排序查询 六、聚合查询 七、分组查询与having子句 1、分组查询介绍 2、group by的使用 3、group by 聚…

【设计模式】23种设计模式笔记

设计模式分类 模板方法模式 核心就是设计一个部分抽象类。 这个类具有少量具体的方法&#xff0c;和大量抽象的方法&#xff0c;具体的方法是为外界提供服务的点&#xff0c;具体方法中定义了抽象方法的执行序列 装饰器模式 现在有一个对象A&#xff0c;希望A的a方法被修饰 …

前端基础Document

前端基础Document 在浏览器的JavaScript环境中&#xff0c;document是默认的全局变量之一&#xff0c;提供对当前网页文档&#xff08;HTML文档&#xff09;的访问和操作。 document对象是Document接口的一个实例&#xff0c;表示整个HTML文档。它作为全局变量存在于浏览器的…

单片机学习笔记---红外遥控红外遥控电机调速(完结篇)

目录 低电平触发中断和下降沿触发中断的区别 红外遥控 Int0.c Int.h Timer0.c Timer0.h IR.c IR.h main.c 红外遥控电机调速 Timer1.c Timer.h Motor.c Motor.h main.c 上一节讲了红外发送和接收的工作原理&#xff0c;这一节开始代码演示&#xff01; 提前说…

闭包----闭包的理解、优点

1、闭包的理解 闭包就是能够读取其他函数内部变量的函数。 由于在 javascript 中&#xff0c;只有函数内部的子函数才能读取局部变量&#xff0c;所以说&#xff0c;闭包可以简单理 解成 “ 定义在一个函数内部的函数 “ 。 所以&#xff0c;在本质上&#xff0c;闭包是将…

微服务中的熔断、降级和限流

在现代微服务架构中,熔断、降级和限流是保障系统稳定性和可靠性的重要手段。本文将深入探讨这三种机制在微服务架构中的作用、原理以及实践方法。 1. 熔断(Circuit Breaker) 1.1 作用和原理 熔断器是一种可以在服务发生故障时快速中断请求的机制,防止故障蔓延到整个系统…

微信小程序-表单提交和校验

一、使用vant组件生成如下页面 二、前端代码如下 <form bindsubmit"submitForm"><view class"cell-group"><van-cell-group><van-field value"{{ title }}" label"商品名称" placeholder"请输入商品名称&qu…

Dubbo框架admin搭建

Dubbo服务监控平台&#xff0c;dubbo-admin是图形化的服务管理界面&#xff0c;从服务注册中心获取所有的提供者和消费者的配置。 dubbo-admin是前后端分离的项目&#xff0c;前端使用Vue&#xff0c;后端使用springboot。因此&#xff0c;前端需要nodejs环境&#xff0c;后端需…

淘宝店内商品列表接口api

淘宝店内商品列表接口api代码对接如下&#xff1a; 1.公共参数 名称 类型 必须 描述 key String √ get请求方式拼接在url中&#xff0c;点击获取 api_name String √ api接口名称 cache String 默认否 result_type String 否 json lang String 默认cn 简…

复高斯分布的随机变量的模方的分布

文章目录 复高斯分布的随机变量的模方的分布问题的源头矩阵服从复高斯分布向量服从复高斯分布 复高斯分布的随机变量的模方的分布 已知 X ∼ C N ( μ , Σ ) X \sim \mathcal{C N}(\boldsymbol{\mu}, \boldsymbol{\Sigma}) X∼CN(μ,Σ) 则 ∥ X ∥ 2 \|X\|^2 ∥X∥2的分布为…

如何在本地服务器部署TeslaMate并远程查看特斯拉汽车数据无需公网ip

文章目录 1. Docker部署TeslaMate2. 本地访问TeslaMate3. Linux安装Cpolar4. 配置TeslaMate公网地址5. 远程访问TeslaMate6. 固定TeslaMate公网地址7. 固定地址访问TeslaMate TeslaMate是一个开源软件&#xff0c;可以通过连接特斯拉账号&#xff0c;记录行驶历史&#xff0c;统…

QTextStream读写文件

QTextStream 类是 Qt 框架中用于文本读写的一个非常强大的类&#xff0c;它提供了丰富的接口用于方便地进行文本文件的输入输出。QTextStream 可以用于读取和写入文本文件&#xff0c;同时也支持字符串&#xff08;如 QString&#xff09;的操作。它自动处理各种不同的字符集编…

LeetCode354. Russian Doll Envelopes——动态规划

文章目录 一、题目二、题解 一、题目 You are given a 2D array of integers envelopes where envelopes[i] [wi, hi] represents the width and the height of an envelope. One envelope can fit into another if and only if both the width and height of one envelope …

关于Android下gralloc,hwcompoer以及surface模块的重新认识

关于Android下gralloc&#xff0c;hwcompoer以及surface模块的重新认识 引言 欠债还钱天经地义&#xff0c;知识的债也是如此&#xff01;这不必须得将我前面欠下来的债给补上&#xff01;对于任何复杂的知识点&#xff0c;我们都可以采用庖丁解牛的学习方式&#xff0c;一步步…

CCF NOI 2024四川省代表队评测活动比赛环境来源:6547网 www.6547.cn

附件1&#xff1a; CCF NOI 2024四川省代表队评测活动比赛环境 一、操作系统&#xff1a;Windows 10或Windows 11 二、Windows 下软件及版本&#xff1a; Dev-C 5.11 TDM-GCC 4.9.2 Codeblocks 20.03 MinGW 8.1.0 Gvim v8.0.69 AdobeReader zh_CN 11.0.0.379.1410747856…