javasqldate与javautildate分析和总结.docx

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

Java.util.date与java.sql.date区别和转换

java.util.Date是java.sql.Date的父类(注意拼写)

前者是常用的表示时间的类,我们通常格式化或者得到当前时间都是用他

后者之后在读写数据库的时候用他,因为PreparedStament的setDate()的第2参数和ResultSet

getDate()方法的第2个参数都是java.sql.Date转换是

java.sql.Datedate=newJava.sql.Date();java.util.Dated=newjava.util.Date(date.getTime());反过来是一样的。

java.util.Date实际是一个时间戳,它的数值是年月日包括当前的时间

java.sql.Date也是一个时间戳,但它把当前的时间剪掉了,保证它一定是那个日期的0点0

分0秒的时间戳

所以如果你用newjava.util.Date()会得到当前时间

但如果用newjava.sql.Date(newjava.util.Date().getTime()),得到的时间会是那一天的0点0

分0秒

格式如下:

java.util.Date是年-月-日时:分:秒.毫秒java.sql.Date是年-月-日java.sql.Time是时:分:秒

java.sql.Timestamp是年-月-日时:分:秒

1、将java.util.Date转换为java.sql.Datejava.sql.Datesd;

java.util.Dateud;

//initializetheudsuchasud=newjava.util.Date();sd=newjava.sql.Date(ud.getTime());

2、若要插入到数据库并且相应的字段为Date类型

可使用PreparedStatement.setDate(int,java.sql.Date)方法其中的java.sql.Date可以用上面的方法得到

也可以用数据库提供TO_DATE函数比如现有ud

TO_DATE(newSimpleDateFormat().format(ud,yyyy-MM-ddHH:mm:ss),YYYY-MM-DDHH24:MI:SS)

注意java中表示格式和数据库提供的格式的不同

sql=updatetablenamesettimer=to_date(+x+,yyyymmddhh24miss)where

这里的x为变量为类似:20080522131223

3、如何将yyyy-mm-dd格式的字符串转换为java.sql.Date

方法1

SimpleDateFormatbartDateFormat= newSimpleDateFormat(yyyy-MM-dd);

StringdateStringToParse=2007-7-12;try{

java.util.Datedate=bartDateFormat.parse(dateStringToParse);java.sql.DatesqlDate=newjava.sql.Date(date.getTime());System.out.println(sqlDate.getTime());

}

catch(Exceptionex){System.out.println(ex.getMessage());

}

方法2

String strDate = 2002-08-09;

StringTokenizer st = new StringTokenizer(strDate, -)

;

java.sql.Datedate=newjava.sql.Date(Integer.parseInt(st.nextToken()),Integer.parseInt(st.nextToken()),Integer.parseInt(st.nextToken()));

java.util.Date和java.sql.Date的区别java.sql.Date,java.sql.Time和java.sql.Timestamp三个都是java.util.Date的子类(包装类)。

但是为什么java.sql.Date类型的值插入到数据库中Date字段中会发生数据截取呢?

java.sql.Date是为了配合SQLDATE而设置的数据类型。“规范化”的

java.sql.Date只包含年月日信息,

文档评论(0)

hao187 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档