将java.util.date转换为java.sql.date

时间:2016-03-23 16:32:23

标签: java date

所以我试图将java.util.date(2016年3月23日21:58:14 IST 2016)转换为java.sql.date。我通过.getTime()获得的输出是2016-03-23。我希望它的格式为日期时间左右。

我没有时间在这。我也希望时间在转换日期。

java.sql.Date  sqlDate = new java.sql.Date(utilDate.getTime());

2 个答案:

答案 0 :(得分:2)

java.sql.Date相当于sql Date类型,我想你正在寻找java.sql.Timestamp

Date d = new Date();
Timestamp stamp =  new Timestamp(d.getTime());  
System.out.println(stamp); //2016-03-23 22:08:39.686

答案 1 :(得分:0)

根据java.sql.Date的JavaDoc,它只有日期,而不是时间。

  

一个围绕毫秒值的薄包装器,允许JDBC识别   这是一个SQL DATE值。毫秒值表示数字   自1970年1月1日00:00:00.000以来经过的毫秒数   GMT。

     

符合SQL DATE的定义,即毫秒值   由java.sql.Date实例包装必须通过设置'规范化'   小时,分钟,秒和毫秒为零   与实例关联的特定时区。

如果您想要时间以及日期,那么您应该改为java.sql.Timestamp

以下是代码段:

java.sql.Timestamp sqlDateTime = new java.sql.Timestamp(utilDate.getTime());