MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决


Posted in MySQL onDecember 24, 2022

TIMESTAMP类型返回日期时间数据中带有 T

场景描述

MySQL 中使用 TIMESTAMP 类型

实体类使用 java.util.Date 类型

返回 JSON 数据:

MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决

通过注解格式化(方法一)

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

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

结果:

MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决

通过全局配置(方法二)

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

MySQL时间类型timestamp知识点

mysql日期时间类型

日期类型 字节 最小值 最大值
DATE 4 1000-01-01 9999-12-31
DATETIME 8 1000-01-01 00:00:00
TimeStamp 4 197001010800001 2038年
Time 3 -838:59:59 838:59:59
year 1 1901 2155

知识点:

  • 1 如果需要经常插入或者更新日期为当前时间 则通常使用Timestamp,timestamp值返回后显示为”YYYY-MM-DD HH:MM:SS”格式的字符串
  • 2 如果只表示年份可以用year 他比date占用更少的空间year有2位或者4位格式的年默认为4位
  • 3 每种日期类型都有一个有效值范围如果超出这个范围将以零值进行存储

DATE TIME DATETIME为最常用

实例:

CREATE TABLE t (d date , t  time , dt datetime);
desc t

MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决

insert INTO t VALUES(NOW(),NOW(),NOW())
select * from t

MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决

DATETIME是date和time的结合

Timestamp实例

CREATE TABLE ttt (t timestamp);

MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决

系统自动给timestamp加上了默认值

INSERT INTO ttt VALUES(NULL)
select * from ttt

MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决

插入null 系统自动插入了当前时间戳

mysql中只给表中的第一个timestamp字段类型设置默认值为当前日期 如果有第二个timestamp类型则默认值设置为0

alter TABLE ttt add t2 timestamp;
SHOW CREATE TABLE ttt;
CREATE TABLE `ttt` (
  `t` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `t2` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
) ENGINE=MyISAM DEFAULT CHARSET=utf8

mysql一个表中值允许一列的默认值为current_timestamp

INSERT INTO ttt VALUES(null,null)

MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决

update ttt set t2 = '2015-11-28 03:00:40' where t='2015-11-27 03:00:40'

MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决

t2 变了 t也变化成了当前时间 这是一个大坑 尤其是在一些需要按创建时间排序的需求中

所以结论是在mysql中使用时间字段timestamp时注意一定要 加上初始化的值 并且不能是current_timestamp

修改t为有初始值

alter TABLE ttt   change `t` `t` timestamp default '0000-00-00 00:00:00' NOT NULL ;
desc ttt

MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决

此时再去

update ttt set t2 = '2015-11-28 04:00:40' where t='2015-11-27 03:02:50'

t没发生变化

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

MySQL 相关文章推荐
MySQL update set 和 and的区别
May 08 MySQL
MySQL大小写敏感的注意事项
May 24 MySQL
MySql开发之自动同步表结构
May 28 MySQL
浅谈MySQL 亿级数据分页的优化
Jun 15 MySQL
mysql优化之query_cache_limit参数说明
Jul 01 MySQL
SQL IDENTITY_INSERT作用案例详解
Aug 23 MySQL
一条慢SQL语句引发的改造之路
Mar 16 MySQL
mysql中DCL常用的用户和权限控制
Mar 31 MySQL
MySQL中一条SQL查询语句是如何执行的
Apr 08 MySQL
排查MySQL生产环境索引没有效果
Apr 11 MySQL
mysql 8.0.27 绿色解压版安装教程及配置方法
Apr 20 MySQL
MySQL分布式恢复进阶
Jul 23 MySQL
MySQL实现用逗号进行拼接、以逗号进行分割
Dec 24 #MySQL
MySQL数据管理操作示例讲解
Dec 24 #MySQL
MySQL深分页问题解决思路
Dec 24 #MySQL
DQL数据查询语句使用示例
Dec 24 #MySQL
mysql数据库如何转移到oracle
Dec 24 #MySQL
mysql序号rownum行号实现方式
Dec 24 #MySQL
Mysql的Table doesn't exist问题及解决
Dec 24 #MySQL
You might like
PHP概述.
2006/10/09 PHP
通达OA公共代码 php常用检测函数
2011/12/14 PHP
php计算到指定日期还有多少天的方法
2015/04/14 PHP
PHP Echo字符串的连接格式
2016/03/07 PHP
php 人员权限管理(RBAC)实例(推荐)
2017/05/24 PHP
php使用 readfile() 函数设置文件大小大小的方法
2017/08/11 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
Js 中debug方式
2010/02/07 Javascript
JQuery跨Iframe选择实现代码
2010/08/19 Javascript
javascript 在firebug调试时用console.log的方法
2012/05/10 Javascript
Javascript 加载和执行-性能提高篇
2012/12/28 Javascript
5分钟理解JavaScript中this用法分享
2013/11/09 Javascript
jquery实现弹出窗口效果的实例代码
2013/11/28 Javascript
用循环或if语句从json中取数据示例
2014/08/18 Javascript
Jquery使用css方法改变样式实例
2015/05/18 Javascript
JS实现网页标题栏显示当前时间和日期的完整代码
2015/11/02 Javascript
浅析Javascript匿名函数与自执行函数
2016/02/06 Javascript
javascript实现简单的on事件绑定
2016/08/23 Javascript
Bootstrap优化站点资源、响应式图片、传送带使用详解3
2016/10/14 Javascript
jQuery UI制作选项卡(tabs)
2016/12/13 Javascript
Jquery Easyui搜索框组件SearchBox使用详解(19)
2016/12/17 Javascript
JS实现的点击表头排序功能示例
2017/03/27 Javascript
bootstrap可编辑下拉框jquery.editable-select
2017/10/12 jQuery
使用 Element UI Table 的 slot-scope方法
2019/10/10 Javascript
微信小程序实现吸顶效果
2020/01/08 Javascript
[29:59]完美世界DOTA2联赛PWL S3 Forest vs access 第二场 12.11
2020/12/13 DOTA
简单介绍Python中用于求最小值的min()方法
2015/05/15 Python
python 读写txt文件 json文件的实现方法
2016/10/22 Python
解决Tensorflow安装成功,但在导入时报错的问题
2018/06/13 Python
python中从for循环延申到推导式的具体使用
2019/11/29 Python
Belvilla德国:在线预订度假屋
2018/04/10 全球购物
联谊会主持词
2014/03/26 职场文书
教师政风行风自查自纠报告
2014/10/21 职场文书
中学生检讨书1000字
2014/10/28 职场文书
励志语录:时光飞逝,请学会珍惜所有的人和事
2020/01/16 职场文书
JavaGUI模仿QQ聊天功能完整版
2021/07/04 Java/Android