sql.date vs util.date

时间:2011-07-27 17:51:31

标签: java

由于我们有两个日期类:java.sql.Datejava.util.Date。问题ResultSet#getDate()返回sql.Date而不是util.Date的原因是什么?
同意sql.Date延伸util.Date。但是,当两个类中的大多数方法看起来相同时,完全创建新类的原因是什么?

1 个答案:

答案 0 :(得分:9)

原因恰好在java.sql.Date的{​​{3}}:

  

要符合SQL DATE的定义,必须通过在特定时区中将小时,分钟,秒和毫秒设置为零来对java.sql.Date实例包装的毫秒值进行“规范化”。与实例相关联的

所以java.util.Date有一个“时间”部分,而在java.sql.Date中,时间总是“零”,因为(ANSI)SQL DATE数据类型没有时间任