纵观整个项目的字段,最难搞的就是Date类型。今天我们就好好唠唠java中的两个Date类
一、Java.sql.Date
1. 构造方法
Date date = new Date(System.currentTimeMillis());
System.out.println(date);
//2023-02-28
2. 常用方法:
| 方法 | 作用 |
|---|---|
| void setTime(long date) | 使用给定毫秒时间值设置现有 Date 对象 |
| String toString() | 格式化日期转义形式 yyyy-mm-dd 的日期 |
| static Date valueOf(String s) | 将 JDBC 日期转义形式的字符串转换成 Date 值 |
二、Java.util.Date
1. 构造方法
Date date = new Date();
Response:
{
"id": 1,
"name": "教师",
"workTime": "2023-02-28T01:49:44.723+00:00"
}
数据库:

2. 常用方法:
| 方法 | 作用 |
|---|---|
| boolean after(Date when) | 测试此日期是否在指定日期之后 |
| boolean before(Date when) | 测试此日期是否在指定日期之前 |
| Object clone() | 返回此对象的副本 |
| int compareTo(Date anotherDate) | 比较两个日期的顺序 |
| boolean equals(Object obj) | 比较两个日期的相等性 |
| long getTime() | 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数 |
| int hashCode() | 返回此对象的哈希码值 |
| void setTime(long time) | 设置此 Date 对象,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后 time 毫秒的时间点 |
| String toString() | 把此 Date 对象转换为以下形式的 String: Tue Feb 28 10:04:45 CST 2023 其中: Tue是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat) |
三、总结
两者的区别:
| Java.sql.Date | Java.util.Date | |
|---|---|---|
| 日期精度 | 年月日 | 年月日时分秒 |
| 数据库类型 | date | datetime |
| @CreatedDate | 不支持 | 支持 |
| @LastModifiedDate | 不支持 | 支持 |
其实在实际使用中,大家也可以使用string类型来存储时间,没必要非要去使用date类型。



















