小编典典

字符串-> java.util.Date-> java.sql.Date(带时间戳)

sql

这是我的问题:我有一个用户输入日期,例如:2012-12-24(字符串)我将一个时间连接到该字符串,然后转换为java.util.Date我的代码如下:

String tempstartdate = startdte;  //startdte is the string value from a txtfield
       tempstartdate += " 00:01:00";
       String tempenddate = startdte;
       tempenddate += " 23:59:59";

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");               
       java.util.Date validstartdte = null;
        java.util.Date validenddte = null;

validstartdte = df.parse(tempstartdate);  //validstartdte is a util.Date (and works)
validenddte = df.parse(tempenddate);

我的问题是,当我使用该util.Date并将其设置为sql.Date时:

java.sql.Date sqlstartDate = new java.sql.Date(validstartdte.getTime());
java.sql.Date sqlendDate = new java.sql.Date(validenddte.getTime());

它不会给我分配的时间戳,只会以yyyy-MM-dd格式返回日期(例如2012-12-23)。

为什么!?我好沮丧
注意:我注意到当我使用断点时,我能够展开sqlendDate并看到其中有一个名为cdate的值,该值返回:2012-12-12T23:59:59.000-0500我正在使用的数据库是PostgreSQL。

请帮忙!非常感激。


阅读 176

收藏
2021-05-05

共1个答案

小编典典

java.sql.Date 没有时间。

使用java.sql.Timestamp代替。

2021-05-05