MySQL的时间类型 | MySQL中展示 | Java中与之对应的时间类型 |
---|---|---|
date | 2019-12-30 | java.sql.Date |
dateTime | 2019-12-30 11:12:57 | java.sql.Timestamp |
Timestamp | 2019-12-30 11:14:58 | java.sql.Timestamp |
Time | 11:15:20 | java.sql.Time |
Year | 2019 | java.sql.Date |
Timestamp范围为1970-01-01 –2037年,精度为1秒
与DateTime类型非常相似,但是Datetime没有时区问题,timestamp有
如果在Sql中未对Timestamp类型的列赋值,该列将被构造成当前时间。
提交NULL值也会使该列以当前时间录入。
如果时间提交错误,该列将被填入0.
Timestamp比DateTime 类型所需的存储空间更小,只需要4个字节,而DateTime需要8个字节。
但是有一点需要特别注意。Timestamp只能表示时间范围为1970 -2037.
使用Timestamp一定要确保提交的时间数据一定不会超过这个范围。__
- 我们在Java中看看格式。后面发送给数据库
@Test
public void test(){
System.out.println("new Date() = " + new Date());
System.out.println("new java.sql.Date(new Date().getTime()) = " + new java.sql.Date(new Date().getTime()));
System.out.println("new Timestamp(new Date().getTime()) = " + new Timestamp(new Date().getTime()));
System.out.println("new Time(new Date().getTime()) = " + new Time(new Date().getTime()))