- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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只包含年月日信息,
您可能关注的文档
- The Taming of the Shrew读书笔记分析和总结.docx
- The Timeline of Educational Technology in China 分析和总结分析和总结.docx
- Hydrogen storage alloy of Mg 2 Ni produced from Mg and Ni ultrafine particles分析和总结分析和总结.docx
- h河南版《劳动与技术》五下教案.docx
- i20表解释分析和总结.docx
- IBM八道古怪题分析和总结.docx
- IBM笔试题分析和总结.docx
- IBM郭士纳分析和总结.docx
- icu护士实习心得.docx
- IC卡电梯智能控制系统技术参数及功能说明.docx
文档评论(0)