由于我们有两个日期类:java.sql.Date
和java.util.Date
。问题ResultSet#getDate()
返回sql.Date
而不是util.Date
的原因是什么?
同意sql.Date
延伸util.Date
。但是,当两个类中的大多数方法看起来相同时,完全创建新类的原因是什么?
答案 0 :(得分:9)
原因恰好在java.sql.Date
的{{3}}:
要符合SQL DATE的定义,必须通过在特定时区中将小时,分钟,秒和毫秒设置为零来对java.sql.Date实例包装的毫秒值进行“规范化”。与实例相关联的
所以java.util.Date
有一个“时间”部分,而在java.sql.Date
中,时间总是“零”,因为(ANSI)SQL DATE
数据类型没有时间任