ola*_*ola 0 java sql time datetime jdbc
我试图将字符串"5/23/14 02:23:24"从Eclipse中的String转换为要插入到SQL语句中的Date.我的代码如下:
String dateAndTime = "5/23/14 02:23:24";
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yy HH:mm:ss");
Date date = sdf.parse(dateAndTime);
long dateLong = date.getTime();
insertStatement.setDate(1, new java.sql.Date(dateLong));
Run Code Online (Sandbox Code Playgroud)
我希望看到
23-MAY-2014 2.23.24.000000000 PM
Run Code Online (Sandbox Code Playgroud)
在我的桌子上,但我看到了
23-MAY-2014 12.00.00.000000000 AM
Run Code Online (Sandbox Code Playgroud)
谁能说清楚我做错了什么?
谢谢!
标准DATE
SQL类型没有与之关联的任何时间信息,因此状态的javadocjava.sql.Date
:
为了符合SQL DATE的定义,java.sql.Date实例包含的毫秒值必须通过在与实例关联的特定时区中将小时,分钟,秒和毫秒设置为零来"标准化". .
你会想要用一个java.sql.Timestamp
代替.它对应于SQL类型TIMESTAMP
,它包含日期和时间数据.
你正在打电话setDate
,它使用的是java.sql.Date
.这只代表一个日期,而不是日期和时间.
你应该考虑使用,setTimestamp
而不是java.sql.Timestamp
.(可能有其他方法为您的特定数据库执行此操作,但这可能是最简单的通用解决方案):
long dateLong = date.getTime();
insertStatement.setTimestamp(1, new java.sql.Timestamp(dateLong));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
129 次 |
最近记录: |