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

标签 java sql postgresql date java.util.date

这是我的问题: 我有一个用户输入一个日期,如: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/

相关文章:

java - 如何播放存储在 java 项目中的 mp3 音频?

java - 如何在jasper报告中提供dataadaptor

mysql - 仅当父行没有子行时才选择父行

SQL查询找到每种类型的最大计数对应的条目

java - Android 获取 facebook 电子邮件地址

java - Oracle Forms 10g - 与硬件设备通信

javascript - Node.js API 与 express 和 mysql - WHERE IN 和带有多个逗号分隔值的绑定(bind)参数

javascript - HighCharts 日期格式

php - 如何使用 PHP 脚本将 postgres 数据库备份到 sql 文件?

postgresql - 从 RPM 安装 pgpool