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新手入门的基本操作汇总
May 13 MySQL
MySQL 覆盖索引的优点
May 19 MySQL
Mysql基础知识点汇总
May 26 MySQL
详细谈谈MYSQL中的COLLATE是什么
Jun 11 MySQL
MySQL 四种连接和多表查询详解
Jul 16 MySQL
MySQL中的隐藏列的具体查看
Sep 04 MySQL
为什么MySQL 删除表数据 磁盘空间还一直被占用
Oct 16 MySQL
详细聊聊关于Mysql联合查询的那些事儿
Oct 24 MySQL
MySQL数据库Innodb 引擎实现mvcc锁
May 06 MySQL
MYSQL事务的隔离级别与MVCC
May 25 MySQL
MySQL中order by的执行过程
Jun 05 MySQL
浅谈MySql update会锁定哪些范围的数据
Jun 25 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
建立动态的WML站点(一)
2006/10/09 PHP
PHP 身份验证方面的函数
2009/10/11 PHP
PHP 字符串加密函数(在指定时间内加密还原字符串,超时无法还原)
2010/04/28 PHP
php代码架构的八点注意事项
2016/01/25 PHP
老生常谈php 正则中的i,m,s,x,e分别表示什么
2017/03/02 PHP
php生成复杂验证码(倾斜,正弦干扰线,黏贴,旋转)
2018/03/12 PHP
laravel多条件查询方法(and,or嵌套查询)
2019/10/09 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
JavaScript之引用类型介绍
2012/08/10 Javascript
jQuery实现购物车多物品数量的加减+总价计算
2014/06/06 Javascript
Javascript原型链和原型的一个误区
2014/10/22 Javascript
angular中使用路由和$location切换视图
2015/01/23 Javascript
Bootstrap每天必学之附加导航(Affix)插件
2016/04/25 Javascript
基于JS模仿windows文件按名称排序效果
2016/06/29 Javascript
Bootstrap基本样式学习笔记之图片(6)
2016/12/07 Javascript
详解VUE2.X过滤器的使用方法
2018/01/11 Javascript
浅谈目前可以使用ES10的5个新特性
2019/06/25 Javascript
google广告之另类js调用实现代码
2020/08/22 Javascript
[04:44]DOTA2西游记战队视频彩蛋流出 师徒开黑巧遇林书豪
2016/08/03 DOTA
Python实现批量检测HTTP服务的状态
2016/10/27 Python
Python图片转换成矩阵,矩阵数据转换成图片的实例
2018/07/02 Python
pyqt5 实现工具栏文字图片同时显示
2019/06/13 Python
基于树莓派的语音对话机器人
2019/06/17 Python
python生成大写32位uuid代码
2020/03/03 Python
python如何写出表白程序
2020/06/01 Python
Python爬虫实例——scrapy框架爬取拉勾网招聘信息
2020/07/14 Python
HTML5 UTF-8 中文乱码的解决方法
2013/11/18 HTML / CSS
美国背景检查、公共记录和人物搜索网站:BeenVerified
2018/02/25 全球购物
教师演讲稿范文
2014/01/08 职场文书
抽奖活动主持词
2014/03/31 职场文书
检举信的格式及范文
2014/04/04 职场文书
学习型班组申报材料
2014/05/31 职场文书
素质拓展训练感想
2015/08/07 职场文书
Win11怎样将锁屏账户头像图片改成动画视频
2021/11/21 数码科技
python获取字符串中的email
2022/03/31 Python
基于Python实现对比Exce的工具
2022/04/07 Python