为什么java.util.Date和java.sql.Date中有两个日期类?

时间:2010-01-20 19:18:31

标签: java

HI 我想知道为什么在java.util.Date中有两个不同的包中有两个Date类,java.sql.Date中有一个? 什么是使用两个Date类?

3 个答案:

答案 0 :(得分:11)

java.util.Date是Java的Date数据类型。

java.sql.Date是SQL日期的JDBC包装器。

两者在内部完全不同。

.NET与System.DataTimeSystem.Data.SqlTypes.SqlDateTime

具有相同的概念(但更好的命名约定,以便在我看来区分这两者)

答案 1 :(得分:3)

java.sql.Date

  

围绕毫秒值 的瘦包装器,允许JDBC将其标识为SQL DATE值 。毫秒值表示自1970年1月1日00:00:00.000 GMT以来经过的毫秒数。

答案 2 :(得分:3)

java.sql.Datejava.util.Date的子类(扩展名) java.sql.Date中发生了哪些变化:

  1. toString()生成不同的字符串表示形式:yyyy-mm-dd
  2. 一个静态valueOf(String)方法,用于从具有上述表示的字符串创建日期
  3. 不推荐使用小时,分钟和秒的getter和setter
  4. java.sql.Date类与JDBC一起使用,它的目的是没有时间部分,即小时,分钟,秒和毫秒应为零......但这不是强制执行的由班级。