JPA——Java.util.Date和Java.sql.Date

纵观整个项目的字段,最难搞的就是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)

三、格式转化

Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(dateFormat.format(date));
//输出2023-03-01 08:59:03

四、总结

两者的区别:

Java.sql.Date Java.util.Date
日期精度 年月日 年月日时分秒
数据库类型 date datetime
@CreatedDate 不支持 支持
@LastModifiedDate 不支持 支持

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

猜你喜欢

转载自blog.csdn.net/qq_34465338/article/details/129262724