在 MySQL 中对于时间的存储自己见表的时候都是设置的 varchar 类型的,感觉挺方便的。
昨天拿别人建好的表写代码,发现这张表中时间类型为 datetime 的,凭感觉试了一下不行,网上查了刚开始试了好几个都是不对的,一脸懵逼。
如图,mysql 中的 datetime 类型数据对应的是 Java 中的 Timestamp 类。
date:只有日期,没有时间,2016-09-21;
time:只有时间,没有日期,23:42:31;
datetime:日期时间都有,2016-09-21 23:42:31 。
timestamp:可以在进行 Insert 或者 update 的时候自动的为你插入时间,时间格式:2016-09-21 23:42:31。
用 navicat 找了一张表添加了一个 timestamp 的字段,如下:
导出表结构看到该字段 sql 为:time_test
timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
言归正传,本次数据库中用的是 datetime 类型的,在 java 中生成可以存储的时间数据方法如下:
1 | Date date = new Date(); |