目录TIMESTAMP类型返回日期时间数据中带有 T场景描述通过注解格式化(方法一)通过全局配置(方法二)Mysql时间类型timestamp知识点mysql日期时间类型Timestamp实例总结TIMESTAMP类型返
Mysql 中使用 TIMESTAMP 类型
实体类使用 Java.util.Date 类型
返回 JSON 数据:
可以在日期类型属性上,或者 GET 方法加上 Jackson 的 @jsonFORMat 注解方式来格式化,例如:
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date updateTime;
结果:
@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;
}
}
日期类型 | 字节 | 最小值 | 最大值 |
---|---|---|---|
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 |
知识点:
DATE TIME DATETIME为最常用
实例:
CREATE TABLE t (d date , t time , dt datetime);
desc t
insert INTO t VALUES(NOW(),NOW(),NOW())
select * from t
DATETIME是date和time的结合
CREATE TABLE ttt (t timestamp);
系统自动给timestamp加上了默认值
INSERT INTO ttt VALUES(NULL)
select * from ttt
插入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)
update ttt set t2 = '2015-11-28 03:00:40' where t='2015-11-27 03:00:40'
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
此时再去
update ttt set t2 = '2015-11-28 04:00:40' where t='2015-11-27 03:02:50'
t没发生变化
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
--结束END--
本文标题: MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决
本文链接: https://lsjlt.com/news/175682.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0