当前位置:Gxlcms > 数据库问题 > Java日期时间API系列2-----Jdk7及以前的日期时间类在mysql数据库中的应用

Java日期时间API系列2-----Jdk7及以前的日期时间类在mysql数据库中的应用

时间:2021-07-01 10:21:17 帮助过:5人阅读

字节 最小值 最大值 DATE 4 1000-01-01 9999-12-31 DATETIME 8 1000-01-01 00:00:00 9999-12-31 23:59:59 TIMESTAMP 4 19700101080001 2038 年的某个时刻 TIME 3 -838:59:59 838:59:59 YEAR 1 1901 2155

 

3.java中类与mysql中类型的匹配

java类型   mysql类型

timestamp datetime

timestamp timestamp

timestamp date 保留日期部分

timestamp time 保留时间部分

date         date

time         time

4.mysql中datetime与timestamp的区别

a)DATETIME的默认值为null,5.6版本之后,也能用CURRENT_TIMESTAMP;TIMESTAMP的字段默认不为空(not null),默认值为当前时间(CURRENT_TIMESTAMP),如果不做特殊处理,并且update语句中没有指定该列的更新值,则默认更新为当前时间。

b)DATETIME使用8字节的存储空间,TIMESTAMP的存储空间为4字节。因此,TIMESTAMP比DATETIME的空间利用率更高。

c)两者的存储方式不一样 ,对于TIMESTAMP,它把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转化为客户端当前时区进行返回。而对于DATETIME,不做任何改变,基本上是原样输入和输出。

d)两者所能存储的时间范围不一样:

timestamp所能存储的时间范围为:’1970-01-01 00:00:01.000000’ 到 ‘2038-01-19 03:14:07.999999’;

datetime所能存储的时间范围为:’1000-01-01 00:00:00.000000’ 到 ‘9999-12-31 23:59:59.999999’。

所以,如果要适用广泛的,建议适用DATETIME。


参考:https://www.jianshu.com/p/937656cb269b

      https://blog.csdn.net/z3278221/article/details/81000876

 

 

 

Java日期时间API系列2-----Jdk7及以前的日期时间类在mysql数据库中的应用

标签:处理   字段   com   mysql数据库   插入   数据   适合   jdk7   输出   

人气教程排行