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 08 MySQL
MySQL CHAR和VARCHAR该如何选择
May 31 MySQL
MySQL 百万级数据的4种查询优化方式
Jun 07 MySQL
mysql 数据插入优化方法之concurrent_insert
Jul 01 MySQL
MySQL数据库超时设置配置的方法实例
Oct 15 MySQL
SQL语法CONSTRAINT约束操作详情
Jan 18 MySQL
浅谈如何保证Mysql主从一致
Mar 13 MySQL
进阶篇之linux环境下安装MySQL数据库
Apr 09 MySQL
MySQL数据库事务的四大特性
Apr 20 MySQL
MYSQL常用函数介绍
May 05 MySQL
MYSQL中文乱码问题的解决方案
Jun 14 MySQL
Mysql表数据比较大情况下修改添加字段的方法实例
Jun 28 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实现的漂亮分页方法
2014/04/17 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
2019/10/18 PHP
JavaScript 构造函数 面相对象学习必备知识
2010/06/09 Javascript
Jquery插件之多图片异步上传
2010/10/20 Javascript
js下判断 iframe 是否加载完成的完美方法
2010/10/26 Javascript
获取div编辑框,textarea,input text的光标位置 兼容IE,FF和Chrome的方法介绍
2012/11/08 Javascript
JavaScript实现将UPC转换成ISBN的方法
2015/05/26 Javascript
js限制文本框的输入内容代码分享(3类)
2015/08/20 Javascript
Bootstrap的Refresh Icon也spin起来
2016/07/13 Javascript
Query常用DIV操作获取和设置长度宽度的实现方法
2016/09/19 Javascript
Bootstrap基本组件学习笔记之面板(14)
2016/12/08 Javascript
jquery 判断是否支持Placeholder属性的方法
2017/02/07 Javascript
js实现点击切换checkbox背景图片的简单实例
2017/05/08 Javascript
Vue使用NPM方式搭建项目
2018/10/25 Javascript
微信小程序实现发送验证码按钮效果
2018/12/20 Javascript
微信小程序实现提交input信息到后台的方法示例
2019/01/19 Javascript
JavaScript冒泡算法原理与实现方法深入理解
2020/06/04 Javascript
Vue Render函数创建DOM节点代码实例
2020/07/08 Javascript
vue 使用 sortable 实现 el-table 拖拽排序功能
2020/12/26 Vue.js
python基础教程之基本数据类型和变量声明介绍
2014/08/29 Python
深入理解Python中命名空间的查找规则LEGB
2015/08/06 Python
Python编程实战之Oracle数据库操作示例
2017/06/21 Python
django开发post接口简单案例,获取参数值的方法
2018/12/11 Python
Python 实现王者荣耀中的敏感词过滤示例
2019/01/21 Python
Python实现简单层次聚类算法以及可视化
2019/03/18 Python
Python3-异步进程回调函数(callback())介绍
2020/05/02 Python
全球速卖通西班牙站:AliExpress西班牙
2017/10/30 全球购物
JPA的特点
2014/10/25 面试题
班长自荐书范文
2014/02/11 职场文书
工程师岗位职责规定
2014/02/26 职场文书
内衣营销方案
2014/03/15 职场文书
2014国庆节国旗下演讲稿(精选版)
2014/09/26 职场文书
办公室岗位职责
2015/02/04 职场文书
自我推荐信怎么写
2015/03/24 职场文书
停车场管理制度范本
2015/08/05 职场文书
css3应用示例:新增的选择器
2022/03/16 HTML / CSS