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和Oracle之间的误区
May 18 MySQL
Mysql Online DDL的使用详解
May 20 MySQL
Mysql官方性能测试工具mysqlslap的使用简介
May 21 MySQL
MySQL系列之四 SQL语法
Jul 02 MySQL
SQL实现LeetCode(196.删除重复邮箱)
Aug 07 MySQL
mysql事务对效率的影响分析总结
Oct 24 MySQL
关于MySQL中的 like操作符详情
Nov 17 MySQL
简单聊一聊SQL注入及防止SQL注入
Mar 23 MySQL
讲解MySQL增删改操作
May 06 MySQL
mysql5.5中文乱码问题解决的有用方法
May 30 MySQL
MySQL 原理与优化之原数据锁的应用
Aug 14 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下利用header()函数设置浏览器缓存的代码
2010/09/01 PHP
浅析PHP的ASCII码转换类
2013/07/05 PHP
php实现在服务器上创建目录的方法
2015/03/16 PHP
PHP多维数组指定多字段排序的示例代码
2018/05/16 PHP
php实现姓名根据首字母排序的类与方法(实例代码)
2018/05/16 PHP
PHP支付宝当面付2.0代码
2018/12/21 PHP
linux mint下安装phpstorm2020包括JDK部分的教程详解
2020/09/17 PHP
innertext , insertadjacentelement , insertadjacenthtml , insertadjacenttext 等区别
2007/06/29 Javascript
一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
2009/05/21 Javascript
对之前写的jquery分页做下升级
2014/06/19 Javascript
js实现完全自定义可带多级目录的网页鼠标右键菜单方法
2015/02/28 Javascript
学JavaScript七大注意事项【必看】
2016/05/04 Javascript
AngularJS实践之使用ng-repeat中$index的注意点
2016/12/22 Javascript
angular使用post、get向后台传参的问题实例
2017/05/27 Javascript
vue-cli启动本地服务局域网不能访问的原因分析
2018/01/22 Javascript
微信小程序实现动态显示和隐藏某个控件功能示例
2018/12/14 Javascript
vue指令之表单控件绑定v-model v-model与v-bind结合使用
2019/04/17 Javascript
[02:23]DOTA2英雄基础教程 幻影长矛手
2013/12/09 DOTA
python 正则表达式 概述及常用字符
2009/05/04 Python
python pygame实现2048游戏
2018/11/20 Python
python实现列表的排序方法分享
2019/07/01 Python
pytorch 实现cross entropy损失函数计算方式
2020/01/02 Python
Ubuntu18.04安装 PyCharm并使用 Anaconda 管理的Python环境
2020/04/08 Python
Django之腾讯云短信的实现
2020/06/12 Python
如何在VSCode下使用Jupyter的教程详解
2020/07/13 Python
美国现代家具和家居商店:Apt2B
2016/08/29 全球购物
荷兰超市:DEEN
2018/03/14 全球购物
高级销售员求职信
2013/10/25 职场文书
教师实习自我鉴定
2013/12/13 职场文书
团队队名口号大全
2014/06/06 职场文书
应届毕业生求职信范文
2015/03/19 职场文书
机关工会工作总结2015
2015/05/26 职场文书
珍爱生命主题班会
2015/08/13 职场文书
小学英语课教学反思
2016/02/15 职场文书
李清照的诗词赏析(20首)
2019/08/22 职场文书
Python批量将csv文件转化成xml文件的实例
2021/05/10 Python