关于java.util.Date 和java.sql.Date转换的问题

梦里人 2011-05-02 04:53:09
如何让java.sql.date转化到java.util.date时,时分秒不归零?
在数据库中,字段的类型是 date 型的,MSQ 2005.
一下是我写的一段代码中关键几句:
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
loginTime=formatter.format(rs.getDate(4));
上面的代码执行的结果是这样的:2011-05-02 00:00:00 而在数据库中准确值为:2011/5/2 15:05:44
那位大哥可以给我指点下,或者给我转换的源码也行...
...全文
155 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Coolfatman 2011-05-03
  • 打赏
  • 举报
回复
问题是你用 sql.date 从数据库取出数据时已经被清零了。 你无论怎么挣扎都没用。如果你不能使用timestamp
那么使用数据库的方法转换成带时分秒的字符串输出。 例如oracle 是 to_char(current_timestamp,'yyyy/mm/dd hh:mi:ss')
wrd_lt 2011-05-03
  • 打赏
  • 举报
回复
java.util.Date d1 = new java.util.Date();

java.sql.Date d2 = new java.sql.Date(d1.getTime());

梦里人 2011-05-02
  • 打赏
  • 举报
回复
不行啊,这样的错:不支持从 timestamp 到 TIMESTAMP 的转换。
还有,一楼的那种方法根本就不会有时分秒....
期待更好的方法....
shine333 2011-05-02
  • 打赏
  • 举报
回复
时分秒不归零不可能,所谓覆水难收。
如果想保存的时候不丢失,数据库请使用TIMESTAMP/DATETIME类型(Oracle叫DATE),JDBC用java.sql.Timestamp
shine333 2011-05-02
  • 打赏
  • 举报
回复
java.sql.Date d1 = new java.sql.Date(utilDate.getTime());
java.util.Date d2 = new java.util.Date(d1.getTime());

50,528

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧