数据库中的date和java中的date的区别

数据库中的date和java中的date的区别,第1张

java.util.Date是在除了SQL语句的情况下面使用的。

java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分

java.sql.Date转为java.util.Date

java.sql.Date date=new java.sql.Date()

java.util.Date d=new java.util.Date (date.getTime())

java.util.Date转为java.sql.Date

java.util.Date utilDate=new Date()

java.sql.Date sqlDate=new java.sql.Date(utilDate.getTime())

java.util.Date utilDate=new Date()

java.sql.Date sqlDate=new java.sql.Date(utilDate.getTime())

java.sql.Time sTime=new java.sql.Time(utilDate.getTime())

java.sql.Timestamp stp=new java.sql.Timestamp(utilDate.getTime())

请采纳,谢谢

java.util.Date  date=new java.util.Date()

java.sql.Date  data1=new java.sql.Date(date.getTime())

这样 java中的date就转成sql中的date了 ,具体你可以根据需要进行简化,

date1 就是当前时间,已经转成能插入数据库中的datetime类型了。

JDBC环境下

如果使用的是PreparedStatement接口:

1.String sql = "insert into 表名(date类型的列) values(?)"

2.PreparedStatement stmt = con.prepareStatement(sql)

3.stmt.setDate(1, date对象)

4.stmt.executeUpdate()

如果使用的是Statement接口:

1.java.text.SimpleDateFormat fmt1 = new java.text.SimpleDateFormat("yyyy-MM-dd") // mssql、mysql格式

2.java.text.SimpleDateFormat fmt2 = new java.text.SimpleDateFormat("dd-MM月-yyyy") // oracle格式

3.String sql = String.format("insert into 表名(date类型的列) values('%s')", fmt1.format(date对象))

4.Statement stmt = con.createStatement()

5.stmt.executeUpdate(sql)

1:System.currentTimeMillis() 返回long类型 可以强制转换成Date格式 .

2:SimpleDateFormat.format()返回的是 String类型,可以得到我上述的时间格式,但是是String类型。

3:SimpleDateFormat.parse()返回的是Date类型,该方法试图按照给定的SimpleDateFormat 对象的格式化存储来解析字符串,试过后发现,解析后的值是“格林威治时间格式“,即我当初设想的思路应该不能实现,转而改变策略,以任意格式把时间变成Date格式插入数据库中,提取的时候再做变换即可。

4:查询中发现java.util.Date 和 java.sql.Date存在一些区别,util.date用Date date = new Date(),util可以活动值,sql包必须给参数。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10036731.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存