博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何将util.Date转化为sql.Date
阅读量:4292 次
发布时间:2019-05-27

本文共 1305 字,大约阅读时间需要 4 分钟。

养生道
2016-10-10 21:19

通过查看API可以很容易知道,util.Date类时sql.Date的父类,所以根据向上转型的原理可以很简单的知道时可行的,不用做转换都可以。

但是如果想要将util.Date转化为sql.Date,是不存在向下直接转型的!

1 String str="2010-10-10";
2         Date date1=null;
3         try {
4 date1 = new SimpleDateFormat("yyyy-MM-dd").parse(str);
5         } catch (ParseException e) {
6  e.printStackTrace;
7         }
9 //这是我定义的一个在dbutil对象里的update方法用于向数据库中插入数据
10 dbutil.update("张三",date1);

以上代码提示以下错误:

The method update(java.lang.String, java.sql.Date) in the type DBUtil is not applicable for the arguments (java.lang.String, java.util.Date)

我们认真看API文档会发现:

sql.Date里面有个构造方法:

Date(long date)使用给定毫秒时间值构造一个Date对象。

恰巧的是强大的JAVA,在util.Date里面有一个为过期的方法:

long getTime
返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此

就提供给这构造函数使用的。

所以可以将上面的代码改正为:

1         String str="2010-10-10";
2         Date date1=null;
3         try {
4 date1 = new SimpleDateFormat("yyyy-MM-dd").parse(str);
5         } catch (ParseException e) {
6  e.printStackTrace;
7         }
8         java.sql.Date hiredate=new java.sql.Date(date1.getTime);
9         dbutil.update("张三",hiredate);

这样就可以正确的转化。

除此之外,还可以:

1         java.sql.Time date1=new java.sql.Time(new java.util.Date.getTime);//时   分    秒
2         java.sql.Timestamp date2=new java.sql.Timestamp(new java.util.Date.getTime);//年  月 日  时  分   秒 毫秒

以上在学习的时候的小总结,若有错误或不足,请大家多多指正。

转载地址:http://mjggi.baihongyu.com/

你可能感兴趣的文章
HashMap的实现
查看>>
互斥锁 synchronized分析
查看>>
java等待-通知机制 synchronized和waity()的使用实践
查看>>
win10 Docke安装mysql8.0
查看>>
docker 启动已经停止的容器
查看>>
order by 排序原理及性能优化
查看>>
Lock重入锁
查看>>
docker安装 rabbitMq
查看>>
git 常用命令 入门
查看>>
linux安装docker
查看>>
关闭selinx nginx无法使用代理
查看>>
shell 脚本部署项目
查看>>
spring cloud zuul网关上传大文件
查看>>
springboot+mybatis日志显示SQL
查看>>
工作流中文乱码问题解决
查看>>
maven打包本地依赖包
查看>>
spring boot jpa 实现拦截器
查看>>
jenkins + maven+ gitlab 自动化部署
查看>>
Pull Request流程
查看>>
Lambda 表达式
查看>>