解决数据库中插入时间没有时分秒
来源:互联网 发布:网络聊天电台 编辑:程序博客网 时间:2024/05/16 02:43
java.util.Date需要转换为java.sql.Date,常规的方式转换过来只可以得到年月日,如若要取得时分秒,可以用Date的子类Timestamp
Java在向数据库中插入时间的时候,常常遇到时、分、秒丢失的情况,这种情况的发生一般是由于时间日期对象使用错误造成的。
java.util.Date是不能直接插入数据库中的,虽然它包含了日期和时分秒。java.sql.Date可以直接插入数据库,但是它只有日期而没有时间;java.sql.Time可以直接插入数据库,但是它只有时间,没有日期;以上这些往往不能满足我们的需要。
如果我们要插入日期和时间,那么就要相办法来使用java.sql.Timestamp来向数据库插入。java.sql.Timestamp可包含了日前和到毫秒的时间值,在程序中,我们常常是使用的java.util.Date,所以就要有解决的方法来实现。
有如下方法将java.util.Date转化为java.sql.Timestamp
public java.sql.Timestamp getTimestamp(Date date) {
return new java.sql.Timestamp(date.getTime());
}
这样,我们可以将我们使用的java.util.Date转化,得到带时分秒的时间。
插入数据库用参数形式的需要同样用Timestamp类型:
new DbParameter("KPRQ",getTimestamp(new Date()), Types.TIMESTAMP,DbDirection.INPUT);
然后插入数据库,便可以解决时、分、秒丢失的问题。
由此可以看到我们向数据库传入或传出值是尽量不要使用getDate方法或setDate方法,这样会丢失数据,解决的办法是:
一、改用java.sql.Timestamp
二、传日期形式的字符串,在存储过程接收到后在存储过程中使用to_date处理,对于输出的使用to_char处理
三、传TO_DATE字符串进存储过程
- 解决数据库中插入时间没有时分秒
- 解决数据库中插入时间丢失时分秒
- 解决数据库中插入时间丢失时分秒
- 问题:向Mysql数据库中插入时间类型数据,数据库中只有日期没有时分秒
- 关于向Mysql数据库中插入时间只有日期没有时分秒的问题
- 解决数据库中插入时间丢失时分秒(关于Mi和MM两个见文底)
- 使用hibernate插入时间,没有时分秒
- Mybatis插入时间没有时分秒只有年月日
- 页面时间没有时分秒
- hibernate 解决插入时间默认不支持时分秒
- hibernate 数据库类型 date没有时分秒解决
- hibernate解决传入oracle数据库没有时分秒问题
- 解决SQL Server 2005数据库中datetime时间字段在前端显示时分秒的问题
- 数据库中如何去掉时分秒的时间格式
- java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间
- java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间
- java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间
- java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间
- 《开源框架那些事儿27》一段SQL引发的性能危机及其背后隐藏的设计缺陷
- Android换肤Demo
- [置顶]完整版:《开源框架实战宝典电子书V1.0.0》内测版下载地址!
- [置顶]《开源框架那点事儿25》:对框架模板引擎实现方式的改造实录
- adroid studio 配色方案及字体设置
- 解决数据库中插入时间没有时分秒
- Android Studio快捷键
- 两种添加数据到dropdownlist控件的方法_asp.net技巧
- 大数相乘
- 文章标题
- 看jQuery源码有感
- Leetcode #142 Linked List Cycle II
- linux下字符串与十六进制之间的转换
- ViewConfiguration.getScaledTouchSlop () 用法