快速业务通道

一些淡忘了的Java日期时间函数 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14

一些淡忘了的Java日期时间函数

时间:2011-10-07 blogjava 心梦帆影

今天舍友问我,JDBC中的stmt.setDate()怎么挺入当前时间,传入参数new java.util.Date()不行, 传入 参数new java.sql.Date(),试了一会,还是不行。此时,才发觉,自从用了Hibernate,JPA之后, 我连原始的东西都忘记了。这可是一个很可悲的问题,决定来一次小测试!

package test; import java.sql.Timestamp; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; public class SQLDate {     public static void main(String[] args){         System.out.println(System.currentTimeMillis());         //结果:1244711626453         java.util.Date date1 = new java.util.Date();         System.out.println(date1.toString());    //结果: Thu Jun 11 16:27:57 CST 2009         //java.sql.Date extends java.util.Date          java.sql.Date date2 = new java.sql.Date(System.currentTimeMillis());          System.out.println(date2.toString());    //结果: 2009-06-11          java.sql.Date date3 = new java.sql.Date(date1.getTime());         System.out.println(date3.toString());    //结果:2009-06-11         //Timestamp extends java.util.Date         Timestamp stamp1 = new Timestamp (System.currentTimeMillis());         System.out.println(stamp1.toString());    //结果: 2009-06-11 16:27:57.75         Timestamp stamp2 = new Timestamp (date1.getTime());         System.out.println(stamp2.toString());    //结果: 2009-06-11 16:52:56.171         //日期时间转换成格式化的字符串          SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");         //format(java.util.Date date), Timestamp是java.util.Date的子类         String timeStr =  sdf.format(stamp1);            System.out.println(timeStr);    //结果:2009/06/11 16:52:56         //SimpleDateFormat extends DateFormat, DateFormat是抽象类         DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");         String timeStr2 = df.format(date1);         String timeStr3 = df.format(date2);         System.out.println(timeStr2);    //结果: 2009/06/11 16:52:56         System.out.println(timeStr3);    //结果: 2009/06/11 16:52:56         //字符串转化为日期时间         try {             //parse()中的参数必须与sdf中定义的格式一致,否则抛异常              java.util.Date date6 = sdf.parse("2009/12/10 5:12:02");             System.out.println(date6.toString()); //结果: Thu Dec 10 05:12:02 CST 2009              java.sql.Date date7 = new java.sql.Date(date6.getTime());              System.out.println(date7.toString()); //结果: 2009-12-10             //注意: sdf.parse()返回值是java.util.Date类型,不能转化成java.sql.Date类型              //java.sql.Date date8 = (java.sql.Date)sdf.parse("2009/12/10 5:12:02"); //不可行             Timestamp stamp9 = new Timestamp(date7.getTime());              System.out.println(stamp9.toString()); //结果: 2009-12-10 05:12:02.0          } catch (ParseException e) {             e.printStackTrace();         }     } }

这样测试一下,那几个常用日期时间类和字符串与日期时间类的转换的用法,也就一目了然了。贴到 博客上,下次再遗忘时,打开来看看,也就立即记起来了!

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号