如何将util.Date转化为sql.Date
通过查看API可以很容易知道,util.Date类时sql.Date的父类,所以根据向上转型的原理可以很简单的知道时可行的,不用做转换都可以。
但是如果想要将util.Date转化为sql.Date,是不存在向下直接转型的!
String str="2010-10-10";
Date date1=null;
try {
date1 = new SimpleDateFormat("yyyy-MM-dd").parse(str);
} catch (ParseException e) {
e.printStackTrace();
} //这是我定义的一个在dbutil对象里的update方法用于向数据库中插入数据
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 以来此 Date 对象表示的毫秒数。  | 
就提供给这构造函数使用的。
所以可以将上面的代码改正为:
String str="2010-10-10";
Date date1=null;
try {
date1 = new SimpleDateFormat("yyyy-MM-dd").parse(str);
} catch (ParseException e) {
e.printStackTrace();
}
java.sql.Date hiredate=new java.sql.Date(date1.getTime());
dbutil.update("张三",hiredate);
这样就可以正确的转化。
除此之外,还可以:
java.sql.Time date1=new java.sql.Time(new java.util.Date().getTime());//时 分 秒
java.sql.Timestamp date2=new java.sql.Timestamp(new java.util.Date().getTime());//年 月 日 时 分 秒 毫秒
以上在学习的时候的小总结,若有错误或不足,请大家多多指正。
如何将util.Date转化为sql.Date的更多相关文章
- java.util.Date与java.sql.Date
		
我数据库里用到了日期类型.用java编程的时候同时import了java.util.*和java.sql.*,发现直接申明Date类型 Date dt; 会报错,查了一下才发现有java.util.D ...
 - java.util.Date和java.sql.Date的区别和相互转化
		
java.util.Date是在除了SQL语句的情况下面使用的.java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分它 们都有getTime方法返回毫秒数,自然就可以直接构建. ...
 - java.util.Date和java.sql.Date的区别和相互转化(转)
		
java.util.Date是在除了SQL语句的情况下面使用的.java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分它们都有getTime方法返回毫秒数,自然就可以直接构建. ...
 - java.util.Date和java.sql.Date的区别及应用
		
java.util.Date 就是在除了SQL语句的情况下面使用java.sql.Date 是针对SQL语句使用的,它只包含日期而没有时间部分它都有getTime方法返回毫秒数,自然就可以直接构建ja ...
 - java.util.Date和java.sql.Date
		
java.util.Date是在除了SQL语句的情况下面使用的. java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分 它们都有getTime方法返回毫秒数,自然就可以直接构建 ...
 - [转]java.util.Date和java.sql.Date转换
		
Date 的类型转换:首先记住java.util.Date 为 java.sql.Date的父类 1.将java.util.Date 转换为 java.sql.Date java.lang.Class ...
 - java.util.Date和java.sql.Date 一点区别
		
最近无意中发现,在oracle中同一样的一个Date类型字段,存储的日期格式有两种不同的情况,第一种是2011-1-1 12:00:00,第二种是2011-1-1,仔细查找发现在向数据库中写数据的时候 ...
 - java.util.Date与java.sql.Date的关系和转换方法(转)
		
在ResultSet中我们经常使用的setDate或getDate的数据类型是java.sql.Date,而在平时java程序中我们一般习惯使用 java.util.Date. 因此在DAO层我们经常 ...
 - java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp小结
		
java.lang.Object ....|__java.util.Date ..........|__java.sql.Date/java.sql.Timestamp /java.sql.Time ...
 
随机推荐
- java中return与finally的执行顺序
			
可不能小看这个简单的 finally,看似简单的问题背后,却隐藏了无数的玄机.接下来我就带您一步一步的揭开这个 finally 的神秘面纱. 问题分析 首先来问大家一个问题:finally 语句块一定 ...
 - TypeScript 自动编译
			
安装Typescript npm install -g typescript 手动编译 tsc greeter.ts 自动编译 tsc -w greeter.ts
 - 分析器错误消息: 未能加载类型“Automation.Web.MvcApplication”。
			
常见原因1 : 可能是自己手动修改了项目 ==>属性==>生成的输出路径 ,导致版本不兼容 常见员因2 : Global的 命名空间 与 项目的命名空间 不一致 常见原因3 : 查看 ...
 - SVM经典论文
			
1. P. H. Chen, C. J. Lin, and B. Schölkopf, A tutorial on ν-support vector machines, Appl. Stoch. Mo ...
 - Python开发【杂货铺】:模块logging
			
logging模块 很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式 ...
 - [CC]点云密度计算
			
包括两种计算方法:精确计算和近似计算(思考:local density=单位面积的点数 vs local density =1/单个点所占的面积) 每种方法可以实现三种模式的点云密度计算,CC里面的 ...
 - Git的.gitignore文件配置
			
.gitignore是Git工具的配置文件,用于屏蔽某些文件上传到线上. 创建.gitignore 在window系统中,不允许新建文件名以"."开头的文件,所以通过git bas ...
 - 安装redis
			
第一步 下载 第二步 解压 .tar.gz 第三步 make cd redis- make 第四步 启动试一下 src/redis-server 好了 :C Jan ::13.501 # Warni ...
 - iOS,自定义控件
			
1.下拉刷新控件 2.下拉加载更多控件 下拉刷新控件 @property(nonatomic,strong) VRefreshHeadView *vrefresh; [self vrefresh]; ...
 - sp_helpdb
			
语法 sp_helpdb [ [ @dbname= ] 'name' ] 参数 [@dbname=] 'name' 是要为其提供信息的数据库名称.name 的数据类型为 sysname,无默认值.如果 ...