向数据库中插入的日期没有小时分秒

adventurous 2010-05-31 02:16:35
我用如下语句向数据库中插入日期类型变量时,发现在数据库中日期的小时、分、秒部分都变成了0
.........
java.util.Date utDate = new java.util.Date();
Date sqlDate = new Date(utDate.getTime());
...............preStmt.setDate(2, sqlDate); preStmt是preparedStatement类型标量
怎样才能插入小时等时间呢?
...全文
171 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
crazylaa 2010-05-31
  • 打赏
  • 举报
回复
Timestamp
winer2008 2010-05-31
  • 打赏
  • 举报
回复
java.sql.Timestamp可以的
龙四 2010-05-31
  • 打赏
  • 举报
回复
public class Timestampextends Date
一个与 java.util.Date 类有关的瘦包装器 (thin wrapper),它允许 JDBC API 将该类标识为 SQL TIMESTAMP 值。它添加保存 SQL TIMESTAMP 毫微秒值和提供支持时间戳值的 JDBC 转义语法的格式化和解析操作的能力。

注:此类型由 java.util.Date 和单独的毫微秒值组成。只有整数秒才会存储在 java.util.Date 组件中。小数秒(毫微秒)是独立存在的。传递 java.util.Date 类型的值时,Timestamp.equals(Object) 方法永远不会返回 true,因为日期的毫微秒组件是未知的。因此,相对于 java.util.Date.equals(Object) 方法而言,Timestamp.equals(Object) 方法是不对称的。此外,hashcode 方法使用基础 java.util.Date 实现并因此在其计算中不包括毫微秒。

鉴于 Timestamp 类和上述 java.util.Date 类之间的不同,建议代码一般不要将 Timestamp 值视为 java.util.Date 的实例。Timestamp 和 java.util.Date 之间的继承关系实际上指的是实现继承,而不是类型继承。
pixiaozheng 2010-05-31
  • 打赏
  • 举报
回复
现在都用sql.Date()
Nature_2009 2010-05-31
  • 打赏
  • 举报
回复
preStmt.setDate()换成preStmt.setTimestamp();

参数从Date()换成Timestamp()。
zhuzhusany 2010-05-31
  • 打赏
  • 举报
回复
用java.sql.Timestamp试试

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧