java.sql.Date类型的date如何得到时分秒

java.sql.Date类型的date如何得到时分秒,第1张

用于参考,我的应用场景是往mysql插入数据,其中包括Date类型,设置数据为 createtime,java中实体定义类型为 java.util.Date。

在执行 java.sql.PreparedStatement 的 setDate方法时,发现 Date类型必须为 java.sql.Date,但是在进行日期转化时,发现 java.sql.Date 无法获取时分秒。

搜索了一下,就不用setDate方法,调用 java.sql.PreparedStatement 的setTimestamp方法,设置数值,可以获取到时分秒, 日期类型为java.sql.Timestamp 。

首先java.sql.date 是为了数据库而设计的 是java.util.date 的子类。 数据库有date和datetime类型,前者是不带时分秒,后者代时分秒在不管是java.sql.date还是 java.util.date 存储为date是会丢失时分秒! 在java中 java.sql.date和 java.util.date 是不会互相丢失精度的!因为它们都有一个longtime 做为存储用。 数据->sql.date 1.如果数据库使用的是 GetDate 无疑没有时分秒,因为数据库没有 2.如果数据库使用的是gettime 时分秒就不会丢失 所以总算是明白了java.sql.date的时分秒的问题!

Date date = new Date()

DateFormat df1 = DateFormat.getDateInstance()//日期格式,精确到日

System.out.println(df1.format(date))

DateFormat df2 = DateFormat.getDateTimeInstance()//可以精确到时分秒

System.out.println(df2.format(date))

DateFormat df3 = DateFormat.getTimeInstance()//只显示出时分秒

System.out.println(df3.format(date))

DateFormat df4 = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL)

System.out.println(df4.format(date))

DateFormat df5 = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG)

System.out.println(df5.format(date))

DateFormat df6 = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT)System.out.println(df6.format(date))

DateFormat df7 = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM)System.out.println(df7.format(date))


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存