这是我的问题: 我有一个用户输入一个日期,如: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.Timestamp
。
关于java - 字符串 -> java.util.Date -> java.sql.Date(带时间戳),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13982870/