为什么有两个日期类,一个是java.util.date,另一个是java.sql.date?
嗨 我想知道为什么在两个不同的包中有两个日期类,一个在为什么有两个日期类,一个是java.util.date,另一个是java.sql.date?,java,Java,嗨 我想知道为什么在两个不同的包中有两个日期类,一个在java.util.Date中,另一个在java.sql.Date中? 有两个日期类有什么用?java.util.Date是java的日期数据类型 java.sql.Date是sql日期的JDBC包装器 两者在内部的表现完全不同 .NET与System.DataTime和System.Data.SqlTypes.SqlDateTime 围绕毫秒值的薄型包装器,允许JDBC将其标识为SQL日期值。毫秒值表示自1970年1月1日00:00:00.
java.util.Date
中,另一个在java.sql.Date
中?
有两个日期类有什么用?
java.util.Date
是java的日期数据类型
java.sql.Date
是sql日期的JDBC包装器
两者在内部的表现完全不同
.NET与System.DataTime
和System.Data.SqlTypes.SqlDateTime
围绕毫秒值的薄型包装器,允许JDBC将其标识为SQL日期值。毫秒值表示自1970年1月1日00:00:00.000 GMT以来经过的毫秒数
java.sql.Date
是java.util.Date
的子类(扩展)
java.sql.Date中发生了什么变化
toString()
生成不同的字符串表示形式:yyyy-mm-dd
valueOf(String)
方法从具有上述表示形式的字符串创建日期java.sql.Date
类与JDBC一起使用,它没有时间部分,即小时、分钟、秒和毫秒应为零。。。但这并不是由类强制执行的。有时我认为这会让程序员的生活变得艰难,然后还有JODA……但是你跳过了java.util.Calendar
!具有讽刺意味的是,这些(JDK类)中没有一个是您真正应该使用的(除非强制)。Joda Time是唯一正确完成的日期/时间API。