当前位置: 首页 > news >正文

Springboot中时间格式化

时间格式化方式

  • @JsonFromat方式
  • 全局配置方式
  • 格式化工具方式

@JsonFromat方式

前端传参或后端响应 yyyy-MM-dd HH:mm:ss 格式,直接属性字段上加注解 @JsonFromat

@JsonFromat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date finishTime;

全局配置方式

新增全局配置类,全局使用日期时间格式化。此种方式也支持单独属性加 @JsonFromat注解。


@Slf4j
@JsonComponent
public class JacksonConfig {@Value("${spring.jackson.date-format:yyyy-MM-dd HH:mm:ss}")private String pattern;@Beanpublic Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilder() {return builder -> {TimeZone tz = TimeZone.getTimeZone("UTC");DateFormat df = new SimpleDateFormat(pattern);df.setTimeZone(tz);builder.failOnEmptyBeans(false).failOnUnknownProperties(false).featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS).dateFormat(df);};}@Beanpublic LocalDateTimeSerializer localDateTimeDeserializer() {return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern));}@Beanpublic Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {return builder -> builder.serializerByType(LocalDateTime.class, localDateTimeDeserializer());}}

格式化工具方式

此种方式比较陋,后端自己写格式化工具处理请求响应,这里就不在陈述,可自行搜索。

		Date date = new Date(); // 获取当前日期和时间SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 设置日期格式String formattedDate = sdf.format(date); // 将日期对象按照指定格式转为字符串SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 设置日期格式Date date = sdf.parse(formattedDate); // 将字符串按照指定格式转为日期对象

相关文章:

  • 【linux 多线程并发】多线程的控制,挂起线程暂停运行,直到唤醒线程,取消线程运行,可以设置合适的取消点属性避免不安全点被中止
  • 趋势与观点 | 2024年全球最值得关注的十大网络安全态势
  • C++三剑客之std::variant(二):深入剖析
  • SpringBoot新手入门完整教程和项目示例
  • el-dialog嵌套使用,只显示遮罩层的问题
  • 【设计模式-3.3】结构型——享元模式
  • 面向企业的 ChatGPT 究极手册:第三章到第四章
  • WebGL中开发AR应用
  • mybatis----小细节
  • rust跟我学七:获取外网IP地址
  • 【话题】边缘计算的挑战和机遇
  • Windows 项目从0到1的部署
  • 软件工程:黑盒测试等价分类法相关知识和多实例分析
  • Unity | 渡鸦避难所-7 | 攻击碰撞检测
  • axios的原理及源码解析
  • #Java异常处理
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • 10个确保微服务与容器安全的最佳实践
  • idea + plantuml 画流程图
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • Mac转Windows的拯救指南
  • Markdown 语法简单说明
  • maya建模与骨骼动画快速实现人工鱼
  • nginx 负载服务器优化
  • Node项目之评分系统(二)- 数据库设计
  • pdf文件如何在线转换为jpg图片
  • python3 使用 asyncio 代替线程
  • SpiderData 2019年2月16日 DApp数据排行榜
  • Spring Boot快速入门(一):Hello Spring Boot
  • spring-boot List转Page
  • Yii源码解读-服务定位器(Service Locator)
  • 创建一个Struts2项目maven 方式
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 漂亮刷新控件-iOS
  • 全栈开发——Linux
  • 通过git安装npm私有模块
  • 微信小程序:实现悬浮返回和分享按钮
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • ###C语言程序设计-----C语言学习(6)#
  • #define,static,const,三种常量的区别
  • (04)odoo视图操作
  • (9)STL算法之逆转旋转
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (六)软件测试分工
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (转)linux 命令大全
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • .Net Remoting(分离服务程序实现) - Part.3
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .stream().map与.stream().flatMap的使用
  • @GlobalLock注解作用与原理解析
  • @zabbix数据库历史与趋势数据占用优化(mysql存储查询)
  • [Android 13]Input系列--获取触摸窗口