Spring JPA Java.util.Date 和 Java.sql.Date

250 阅读1分钟

纵观整个项目的字段,最难搞的就是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.DateJava.util.Date
日期精度年月日年月日时分秒
数据库类型datedatetime
@CreatedDate不支持支持
@LastModifiedDate不支持支持

其实在实际使用中,大家也可以使用string类型来存储时间,没必要非要去使用date类型。