问题描述:
相信大家在使用java和oracle数据库交互的时候都遇到过这个问题,那就是从数据库中获取出来的时间时分秒毫秒都是0;或者从java中存进数据库的时间,数据库中显示的时分秒毫秒都是0。自己在java中或者数据库中测试时间又都没有问题。
其实答案就在java.sql.Date这个类中。
java.sql.Date的api描述:
为了与 SQL DATE 的定义一致,由 java.sql.Date 实例包装的毫秒值必须通过将小时、分钟、秒和毫秒设置为与该实例相关的特定时区中的零来“规范化”。
也就是说,如果使用java.sql.Date去和oracle数据库中的时间做转换,得到的时分秒毫秒都是0。
还有一点: java.util.Date是 java.sql.Timestamp是父类,因此在使用ResultSet的 getTimeStamp() 方法获取的时间是可以直接赋值给java.util.Date的。