首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >java.util.Date vs java.sql.Date?

java.util.Date vs java.sql.Date?

提问于 2017-12-13 07:53:35
回答 2关注 0查看 328

java.util.Datevs java.sql.Date:什么时候用?用哪个?用在哪?为什么?

回答 2

MyLove

发布于 2017-12-13 08:24:41

唯一的一次使用java.sql.Date是在一个PreparedStatement.setDate。否则,使用java.util.Date。这是告诉ResultSet.getDate返回一个,java.sql.Date但它可以直接分配给一个java.util.Date。

心愿

发布于 2017-12-13 08:24:27

从Java 8开始,你既不应该使用,也java.util.Date不要使用, java.sql.Date如果你完全可以避免它,而宁愿使用java.time包(基于乔达)而不是其他任何东西。如果你不在Java 8上,这里是原始的回应:

java.sql.Date - 调用使用它的库的方法/构造函数(如JDBC)。否则。您不想为不明确处理JDBC的应用程序/模块引入依赖关系到数据库库。

java.util.Date - 使用使用它的库时。否则,尽可能少的原因有几个:

这是可变的,这意味着每次将它传递给方法或从方法返回时,都必须作出防御副本。

它不能很好地处理日期,像你这样倒退的人真的认为日期处理类应该。

现在,因为juD做得不好,所以Calendar引入了可怕的课程。他们也是可变的,可怕的工作,应该避免,如果你没有任何选择。

有更好的选择,像约达时间的API(这甚至可能使成Java 7,成为新的官方日期处理API -一个快速搜索说它不会)。

如果你觉得引入像Joda这样的新的依赖关系是过时的,long那么在对象中使用时间戳字段并不是那么糟糕,尽管我自己通常在将它们传递给它们的时候将它们包装在了juD中,为了类型安全和作为文档。

和开发者交流更多问题细节吧,去 写回答
相关文章
java.util.Date 与 java.sql.Date
答:这两个类的区别是 java.sql.Date 是针对 SQL 语句使用的,它只包含日期而没有时间部分,一般在读写数据库时用。java.util.Date 是在除了 SQL 语句外的所有情况下使用的,一般是日常日期字段。java.util.Date 是 java.sql.Date 的父类。唯一的相同点就是都有 getTime 方法返回毫秒数。代码解释所示:
conanma
2021/12/06
7970
java.util.Date和java.sql.Date的区别及转换
该文章讲述了java.util.Date和java.sql.Date之间的区别以及它们的转换方法。java.util.Date是通用的日期时间类,用于表示时间或日期,而java.sql.Date专门用于SQL数据库操作。将java.util.Date转换为java.sql.Date可以使用Date类的valueOf()方法,反之亦然。此外,文章还提供了获取系统时间并将其转换为数据库中日期字段的示例代码。
片刻
2018/01/05
1.3K0
java.util.date和java.sql.date在存入数据库的区别
其主要差异是java.util.Date将存入的数据精确到每天的具体的某个时间段内,而java.sql.Date只是到某一天。
用户5166556
2019/04/16
1.7K0
java8中,java.util.Date, java.sql.Date, java.time.LocalDate 的转换异常及处理
java8中,java.util.Date, java.sql.Date, java.time.LocalDate 的转换异常及处理
用户7886150
2020/12/11
1.6K0
日期类型处理
领域对象(domain)中的所有属性不能出现java.sql包下的东西!即不能使用java.sql.Date;该包下的时间日期类型必须是java.util包下的
星哥玩云
2022/09/14
1K0
JAVA中Sql时间格式与util时间格式转换
  pst.setDate(1, ;//这里的Date是sql中的::得到的是日期
瑾诺学长
2018/09/21
3.4K0
JDBC日期和新的JDK8 日期API转换问题
网上的Java博客,凡是有几年的,而且有关于日期的地方,基本上用的都是java.util.Date这个类。如果有细心的同学看一下Eclipse或者IDEA的代码提示,就会发现java.util.Date这个类几乎所有方法都被标记为了过时的。实际上这个类也已经过时了。原因很简单,这个类在第一版Java中就出现了,但是这个类设计并不完善,导致用它来处理时间非常麻烦。
乐百川
2022/05/05
6480
java中Date,String,timestamp转换问题
转自:http://blog.sina.com.cn/s/blog_5e2d15540100z8y7.html
forrestlin
2022/04/02
1.2K0
解决IDEA无法提示导入java.util.Date的问题
  之前有一段时间在使用IDEA的时候,发现通过快捷键Alt + Enter导入并没有提示有java.util.Date的包,仅仅只有java.sql.Date的包。于是每次使用都需要通过手写import java.util.Date;来进行导包。博主在好生不爽了一段时间后,终于在网上找到了解决办法,本文就是用来记录一下解决过程的。
happyJared
2018/09/20
1.9K0
解决IDEA无法提示导入java.util.Date的问题
mssql datetime smalldatetime 字段类型插入代码「建议收藏」
ps = conn.prepareStatement(strSQL2); ps.setString(1,(new java.util.Date()).toLocaleString()); ps.executeUpdate();
全栈程序员站长
2022/08/26
5560
hql中setDate和setTimeStamp的区别
1.java.sql.Date 与 java.util.Date
似水的流年
2018/01/12
1K0
java时间类的使用和区别
SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。
全栈程序员站长
2022/07/01
4540
java时间类的使用和区别
hql中setDate和setTimeStamp的区别
java.sql.Date是从java.util.Date中继承而来 假设 dates1(java.sql.Date)要赋值给dates2(java.util.Date)
似水的流年
2019/12/10
5040
hql中setDate和setTimeStamp的区别
1.java.sql.Date 与 java.util.Date java.sql.Date是从java.util.Date中继承而来 假设 dates1(java.sql.Date)要赋值给dates2(java.util.Date) 可以通过如下转换进行 dates2=new java.sql.Date(dates1.getTime()); 2. PrepareStament中的方法 setTimeStamp()与setDate()以及ResultSet中的getDate()  ,
似水的流年
2018/01/18
1K0
java 8:只取年月日的java.util.Date(时分秒清零)对象
该文介绍了如何将java.util.Date对象转换为只包含年月日信息的java.time.LocalDate对象,并给出了具体的示例代码。同时还介绍了如何将LocalDate对象转换为java.sql.Date对象,以便将其用于SQL DATE类型。
10km
2018/01/03
8K0
Java 的日期 API 真烂
记得在我刚学 Java 的时候,真是搞不清楚 Date 和 Calendar 这两个类,后来我渐渐知道,原来不能全怪我啊,Java 日期 API 之烂是公认的(不妨参见这篇文章,Tiago Fernandez 做过一个投票,就是要选举最烂的 Java API,结果 Java 日期 API 排行第二,仅次于臭名远扬的 EJB2,嘿嘿)。
四火
2022/07/15
6720
Java 的日期 API 真烂
大数据必学Java基础(四十八):包装类和日期类的讲解
基本数据类型 对应的包装类 继承关系
Lansonli
2022/09/24
3770
大数据必学Java基础(四十八):包装类和日期类的讲解
util.Date与sql.Date的异同以及相互转换
从运行结果看到util.date转成sql.date之后,只有年月日,没有时分秒。
孙晨c
2020/04/22
1.1K0
hibernate Java 时间和日期类型的 Hibernate 映射
在 Java 中, 代表时间和日期的类型包含: java.util.Date 和 java.util.Calendar. 此外, 在 JDBC API 中还提供了 3 个扩展了 java.util.Date 类的子类: java.sql.Date, java.sql.Time 和 java.sql.Timestamp, 这三个类分别和标准 SQL 类型中的 DATE, TIME 和 TIMESTAMP 类型相应
全栈程序员站长
2022/07/12
1.1K0
hibernate Java 时间和日期类型的 Hibernate 映射
fastjson:获取类(Class)的所有可序列化字段(field)
本文介绍了如何使用fastjson库实现类(Class)的可序列化字段(field)的获取,并通过实例进行了测试。
10km
2018/01/03
1.9K0

相似问题

如何将java.util.Date转换为java.sql.Date?

2484

“static const”vs“#define”vs“enum”?

2422

ArgumentException vs ArgumentNullException?

2445

typeof!==“undefined”vs.!= null?

2386

VS Code SCF部署失败?

0256
相关问答用户
平安资管 | 架构师擅长4个领域
擅长3个领域
腾讯云TDP | 高级后端开发工程师擅长3个领域
擅长4个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档