这是我的问题:我有一个用户输入日期,例如: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。
请帮忙!非常感激。
java.sql.Date 没有时间。
java.sql.Date
使用java.sql.Timestamp代替。
java.sql.Timestamp