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模式设计
Apr 05 MySQL
修改MySQL的默认密码的四种小方法
May 26 MySQL
Navicat连接MySQL错误描述分析
Jun 02 MySQL
MySQL query_cache_type 参数与使用详解
Jul 01 MySQL
MySQL系列之十三 MySQL的复制
Jul 02 MySQL
MySQL 四种连接和多表查询详解
Jul 16 MySQL
SQL实现LeetCode(175.联合两表)
Aug 04 MySQL
MySQL七种JOIN类型小结
Oct 24 MySQL
一条慢SQL语句引发的改造之路
Mar 16 MySQL
MySQL分区表管理命令汇总
Mar 21 MySQL
MySQL数据库配置信息查看与修改方法详解
Jun 25 MySQL
Mysql数据库group by原理详解
Jul 07 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/11/25 PHP
PHP中for循环语句的几种变型
2006/11/26 PHP
mysql5的sql文件导入到mysql4的方法
2008/10/19 PHP
我的php学习笔记(毕业设计)
2012/02/21 PHP
PHP制作图形验证码代码分享
2014/10/23 PHP
php实现按照权重随机排序数据的方法
2015/01/09 PHP
PHP实现多级分类生成树的方法示例
2017/02/07 PHP
sails框架的学习指南
2014/12/22 Javascript
jQuery中的ajax async同步和异步详解
2015/09/29 Javascript
js判断主流浏览器类型和版本号的简单实现代码
2016/05/26 Javascript
JavaScript数组操作函数汇总
2016/08/05 Javascript
JS重载实现方法分析
2016/12/16 Javascript
Angular1.x自定义指令实例详解
2017/03/01 Javascript
JavaScript基础之this详解
2017/06/04 Javascript
一文快速了解JQuery中的AJAX
2019/05/31 jQuery
微信小程序获取当前时间及星期几的实例代码
2020/09/20 Javascript
[38:32]完美世界DOTA2联赛循环赛 Forest vs DM 第二场 11.06
2020/11/06 DOTA
python实现定制交互式命令行的方法
2014/07/03 Python
解决Python中字符串和数字拼接报错的方法
2016/10/23 Python
Python中关于Sequence切片的下标问题详解
2017/06/15 Python
python-str,list,set间的转换实例
2018/06/27 Python
在python中以相同顺序shuffle两个list的方法
2018/12/13 Python
python切片的步进、添加、连接简单操作示例
2019/07/11 Python
python实现实时视频流播放代码实例
2020/01/11 Python
用CSS3的box-reflect设置文字倒影效果的方法讲解
2016/03/07 HTML / CSS
详解CSS3浏览器兼容
2016/12/14 HTML / CSS
x-ua-compatible content=”IE=7, IE=9″意思理解
2013/07/22 HTML / CSS
Electric官网:美国高级眼镜和配件品牌
2020/06/04 全球购物
物流仓管员岗位职责
2013/12/04 职场文书
乡镇干部先进事迹材料
2014/02/03 职场文书
县长“四风”对照检查材料思想汇报
2014/10/05 职场文书
工作失职检讨书
2015/01/26 职场文书
小学教育见习总结
2015/06/23 职场文书
创业计划书之DIY自助厨房
2019/09/06 职场文书
自从在 IDEA 中用了热部署神器 JRebel 之后,开发效率提升了 10(真棒)
2021/06/26 Java/Android
Go语言空白表示符_的实例用法
2021/07/04 Golang