欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java.util.Date与java.sql.Date的区别

程序员文章站 2024-03-04 13:22:29
我数据库里用到了日期类型。用java编程的时候同时import了java.util.*和java.sql.*,发现直接申明date类型 date dt; 会报错,查了一...

我数据库里用到了日期类型。用java编程的时候同时import了java.util.*和java.sql.*,发现直接申明date类型

date dt;

会报错,查了一下才发现有java.util.date和java.sql.date,在定义日期类型的时候要使用全名,就是像这样:

java.util.date udt;

java.sql.date sdt;

然后我就查java.util.date和java.sql.date的区别和用法,这方面网上资料挺全,我就不赘述了,大致区别就是java.util.date支持日期和时间,而java.sql.date只支持日期。后面我还用到了string转java.sql.date,这个在网上也能查到,我简要介绍我比较喜欢的一种方法。

首先,准备一个simpledateformat对象,使用simpledateformat类需要import java.text.simpledateformat

simpledateformat df = new simpledateformat(“yyyy-mm-dd”);//yyyy-mm-dd为我们想要转换成的日期格式,一会儿被转换的字符串也应按这个格式来写

然后,准备一个java.util.date对象和待转换的字符串

复制代码 代码如下:

string str = ”2011-06-30”;//这里不能写成2011/06/30或其他样子,会报错,只能按目标日期格式来yyyy-mm-dd
java.util.date udt = null;

然后用df将str转换成java.util.date,并赋值给udt

udt = df.parse(str);

然后再从udt获得我们需要的java.sql.date

java.sql.date sdt = new java.sql.date(udt.gettime());

总结一下就是先用simpledateformat将待转换成日期的字符串格式化成java.util.date类型,然后再从得到的java.util.date对象得到java.sql.date对象,我们可以将它写成一个函数,代码如下:

public java.sql.date stringtosqldate(string str){
simpledateformat sdf = new simpledateformat(“yyyy-mm-dd”);
java.util.date udt=null;
try{
udt = sdf.parse(str);
}catch(exceprion e){
e.printstacktrace();
}
java.sql.date sdt = new java.sql.date(udt.gettime());
return sdt;
} 

以上所述就是本文的全部内容了,希望大家能够喜欢。