mysql中返回日期格式带有T、Java解决返回日期格式带 ‘T‘ 问题、MySQL查询日期为什么带T、java.util.Date()类型为什么有T

文章目录

  • 一、场景描述:Mysql返回日期格式带有T
  • 二、解决方法
    • 2.1、方法一:通过注解格式化
    • 2.2、方法二:通过全局配置
    • 2.3、方法三:查询时手动转换时间格式
  • 三、mysql 数据库时间类型数据为什么有T
    • 3.1、什么是ISO 8601格式
  • 四、java中日期格式带T
    • 4.1、疑问:为什么java.util.Date类型返回时带T

以下内容基于mysql8.0进行讲解

一、场景描述:Mysql返回日期格式带有T

在springboot项目中,mysql数据库日期类型datetime、timestamp类型的日期字段,查询时返回的JSON响应报文中带有T.

(1)Springboot返回响应JSON报文如下

{"id": 1,"createTime": "2024-06-18T08:54:41.000+00:00","updateTime": "2024-06-18T08:54:41.000+00:00"
}

在这里插入图片描述

(2)数据库表数据如下

create table test
(ID int auto_increment comment 'id' primary key,CREATE_TIME datetime null comment '创建时间',UPDATE_TIME timestamp null comment '更新时间'
)
comment '测试表';insert into test values (null,now(),now());

在这里插入图片描述
(3)springboot项目代码如下
在这里插入图片描述

二、解决方法

2.1、方法一:通过注解格式化

可以在日期类型属性上,或者 GET 方法加上 Jackson 的 @JsonFormat 注解方式来格式化,例如:

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

注意: 一定要在最外层Controller层中的响应实体上添加@JsonFormat 注解,否则不生效。

在这里插入图片描述
结果:
在这里插入图片描述

2.2、方法二:通过全局配置

@Configuration
public class WebMvcConfig {@BeanMappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() {MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();ObjectMapper mapper = new ObjectMapper();mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));converter.setObjectMapper(mapper);return converter;}
}

2.3、方法三:查询时手动转换时间格式

(1):mapper.xml文件中使用DATE_FORMAT手动转换文件

<select id="listAll" resultType="com.demo.entity.vo.TestVo">select id,DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s') create_time ,DATE_FORMAT(update_time, '%Y-%m-%d %H:%i:%s') update_timefrom test</select>

(2):响应实体中用String类型进行接收
在这里插入图片描述

三、mysql 数据库时间类型数据为什么有T

在MySQL数据库中,日期和时间类型的数据被存储为特定的格式。当从数据库中查询日期时,有时会发现日期值带有字母"T",例如"2021-01-01T12:00:00"。这是因为MySQL遵循ISO 8601标准,在日期和时间之间使用"T"作为分隔符。

3.1、什么是ISO 8601格式

ISO 8601是国际标准化组织(ISO)发布的日期和时间的表示方法的标准。在ISO 8601中,日期和时间被表示为一个带有"T"的字符串,如"2022-01-01T12:00:00"。这种格式的好处是统一和标准化,便于不同系统之间的数据交换和比较。

日期和时间的组合表示法编辑:

  • 合并表示时,要在时间前面加一大写字母T,如要表示北京时间2021年3月31日上午7点30分8秒,可以写成2021-03-31T7:30:08,所以这个T date和time合并表示时,中间加个T。

iso 8601详情查看:https://baike.baidu.com/item/ISO%208601/3910715?fr=ge_ala

四、java中日期格式带T

我一直有个疑问,前面我们讲mysql中datetime、Timestamp类型返回的Date类型会带T, 那么java本身的java.util.Date类自己会带T么?

(1)案例
在这里插入图片描述

(2)结果
可以发现在响应报文中,new Date()也是带有T的。
在这里插入图片描述

在这里插入图片描述

(3)结论
只要java中返回对象是java.util.Date, 默认都会带T, 不仅仅是因为mysql数据库字段类型为datetime、timestamp

4.1、疑问:为什么java.util.Date类型返回时带T

有个疑问,我们直接在程序中打印new Date()的时候显示的是Wed Jun 19 09:05:56 CST 2024样式,为什么在响应JSON中转换成了2024-06-19T01:48:07.337+00:00格式

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

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

相关文章

储备教师和正式教师的区别是什么?

当谈论教育行业的未来&#xff0c;是否曾想过&#xff0c;那些被称为"储备教师"的群体&#xff0c;与我们熟知的"正式教师"之间&#xff0c;有何本质的区别&#xff1f; 储备教师&#xff0c;顾名思义&#xff0c;是学校为了应对未来可能的教学需求而提前招…

Redis 集群 - 数据分片算法

前言 广义的集群&#xff1a;只要是多个机器构成了一个分布式系统&#xff0c;都可以被称为集群。 狭义的集群&#xff1a;redis 的集群模式&#xff0c;这个集群模式下&#xff0c;主要是解决存储空间不足的问题。 Redis 集群 redis 采用主从结构&#xff0c;可以提高系统的可…

cs144 LAB1 基于滑动窗口的碎片字节流重组器

一.StreamReassembler.capacity 的意义 StreamReassembler._capacity 的含义&#xff1a; ByteStream 的空间上限是 capacityStreamReassembler 用于暂存未重组字符串片段的缓冲区空间 StreamReassembler.buffer 上限也是 capacity蓝色部分代表了已经被上层应用读取的已重组数…

神火股份电子商务平台(数字化招采平台),构建企业数字活力

为推进数字化转型升级进程&#xff0c;神火股份携手信源信息建设电子商务平台&#xff0c;近日&#xff0c;该平台已实现验收&#xff0c;为企业高质量发展注入“数字活力”。 河南神火煤电股份有限公司&#xff08;简称“神火股份”&#xff09;是以煤炭、发电、电解铝生产及…

2024年CCSK认证培训招生简章公开

CCSK认证培训背景 本课程旨在确保与云计算相关的从业人员对云安全威胁和云安全最佳 实践有一个全面的了解和广泛的认知。包含了广泛的云安全知识&#xff0c;涵 盖了体系结构、合规治理、加密和虚拟化等主题。自2010年推出以 来&#xff0c;成千上万的IT和安全专业人员通过CCSK…

系统架构理解

一、统一提前查好所有数据后续逻辑用到啥取啥&#xff0c;还是等用到对应数据的时候再查 1、用到啥查啥&#xff1a; 优势&#xff1a;减少依赖调用次数&#xff0c;减轻服务器压力&#xff1b;代码逻辑清晰&#xff0c;没有太多分支判断 劣势&#xff1a;无法避免串行调用&am…

LeetCode题练习与总结:分割回文串--131

一、题目描述 给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是 回文串 。返回 s 所有可能的分割方案。 示例 1&#xff1a; 输入&#xff1a;s "aab" 输出&#xff1a;[["a","a","b"],["aa&q…

snmp-check一键获取SNMP信息(KALI工具系列二十一)

目录 1、KALI LINUX 简介 2、snmp-check工具简介 3、在KALI中使用onesixtyone 3.1 目标主机IP&#xff08;win&#xff09; 3.2 KALI的IP 4、操作示例 4.1 SNMP 检查 4.2 指定 SNMP 端口 4.3 指定社区字符串 4.4 详细输出 4.5 指定多项 5、总结 1、KALI LINUX 简介…

【Vue】登录功能中对于错误提示信息的重构

登录功能中&#xff0c;使用Axios 的响应拦截器对于错误提示进行重构。 原代码: //form实例统一校验 const formRef ref(null); const router useRouter(); const doLogin () > {formRef.value.validate(async (valid) > {// valid: 所有表单都通过校验 才为true//c…

【网络安全产品】---下一代防火墙

再此之前也大概介绍过传统防火墙&#xff0c;waf以及数据库防火墙&#xff0c;今天发现居然没有对下一代防火墙有过学习。。。今天参考一些资料进行整理。。 网络安全产品---数据库防火墙/审计_数据库审计 数据库防火墙-CSDN博客 【网络安全产品】---应用防火墙(WAF)_waf csd…

JavaScript 导致内存泄漏的场景和规避方法

在日常开发中&#xff0c;我们经常会无意识一些操作导致内存溢出。为此我总结一下内存溢出的几种场景供大家参考。希望能在优化自己代码的道路上有所帮助。 1、意外的全局变量 由于使用未声明的变量&#xff0c;而意外的创建了一个全局变量&#xff0c;使这个变量一直留在内存…

Danikor智能拧紧轴控制器过压维修知识

【丹尼克尔拧紧轴控制器故障代码维修】 【丹尼克尔Danikor控制器维修具体细节】 丹尼克尔拧紧轴控制器作为一种高精度的电动拧紧工具&#xff0c;广泛应用于各种工业生产线。然而&#xff0c;在使用过程中&#xff0c;由于各种原因&#xff0c;可能会出现Danikor扭矩扳手控制…

Linux系统编程——部分内容补充

回顾 进程 内核相关数据结构 代码和数据&#xff0c;一个可执行程序加载到内存变成进程&#xff0c;不仅仅是把代码和数据加载进去就完事了&#xff0c;得“先描述&#xff0c;再组织”&#xff0c;每个进程都有内核数据结构&#xff0c;地址空间&#xff0c;进程相关页表&a…

内核学习——5、中断

硬中断&#xff1a; 是一个异步信号&#xff0c;或需要改变执行一个同步事件 外设产生&#xff0c;基于IRQ&#xff0c;CPU将相应请求给到硬件驱动处理事务 处理中断的驱动需要运行在CPU上的&#xff0c;中断产生时&#xff0c;CPU停止当前程序去处理中断请求&#xff0c;一个…

【案例分析】一文讲清楚SaaS产品运营的六大杠杆是什么?具体怎么运用?

在SaaS&#xff08;软件即服务&#xff09;行业&#xff0c;如何快速获取用户并实现持续增长一直是企业关注的重点。近年来&#xff0c;分销裂变策略因其高效性和低成本特性&#xff0c;成为许多SaaS企业实现快速增长的秘诀。下面&#xff0c;我们将通过一个具体的案例来剖析成…

Ubuntu-24.04-live-server-amd64安装界面中文版

系列文章目录 Ubuntu安装qemu-guest-agent Ubuntu-24.04-live-server-amd64启用ssh Ubuntu乌班图安装VIM文本编辑器工具 文章目录 系列文章目录前言一、准备工作二、开始安装三、测试效果总结 前言 Centos结束&#xff0c;转战Ubuntu。我之所以写这篇文章&#xff0c;是因为我…

精细化,智能费控4.0的竞争内核

出差&#xff0c;在百度百科被释义为&#xff0c;受派遣到外地或负担临时任务。 这是一个对员工清晰对管理却笼统的定义。站在企业费用管理的角度&#xff0c;出差可细分为会议出差、培训出差、市场拓展出差、项目出差、驻外回厂出差、探亲出差、售后维修出差、新人报道出差等不…

防爆气象站:化工厂区气象环境监测的最佳选择

在化工厂区&#xff0c;气象环境监测至关重要&#xff0c;它直接关系到生产安全、环境保护以及员工健康。防爆气象站作为专业的监测设备&#xff0c;凭借其独特的防爆性能和精准的数据监测能力&#xff0c;成为化工厂区气象环境监测的最佳选择。 防爆气象站采用先进的防爆技术…

访问网络 测试没有问题,正式有问题

ping -c 5 -i 1 www.baidu.com 首先检查一下网络&#xff0c;在正式服务器ping 一下要访问的地址。 如果不行&#xff0c;联系网络管理员开通。 笔者因为这个问题浪费了半天时间&#xff0c;一开始都以为是代码问题 以后大家看到这个异常&#xff0c;解决如下&#xff1a; …

逻辑卷管理器 (LVM) 简介

古老的 e5 主机目前有这些存储设备 (硬盘): 系统盘 (M.2 NVMe SSD 480GB), 数据盘 (3.5 英寸 SATA 硬盘 4TB x2). 窝决定使用 LVM 对数据盘进行管理. 逻辑卷管理器 (LVM) 可以认为是一种 (单机) 存储虚拟化 技术. 多个物理存储设备 (PV) 组成一个存储池 (VG), 然后划分虚拟分区…