网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  java基础:date和calendar类的使用方法     
  文章作者:未知  文章来源:赛迪网技术社区  
  查看:58次  录入:管理员--2007-11-16  
 

date和calendar是java类库里提供对时间进行处理的类,由于日期在商业逻辑的应用中占据着很重要的地位,所以在这里想对这两个类进行一个基本的讲解,由于技术有限,不到之处请指正。

date类顾名思义,一看就知道是和日期有关的类了,这个类最主要的作用就是获得当前时间了,然而这个类里面也具有设置时间以及一些其他的功能,可是由于本身设计的问题,这些方法却遭到众多批评,而这些遭受批评的功能都已移植到另外一个类里面,这就是今天要讲到的第二个类calendar里面。

在讲两个类之前,这里又不能不多提一个类,那就是dateformat类,这个类是用来格式化日期的,稍后也会讲到。

首先,让我们来看一个获取当前时间的例子:

date date = new date();
system.out.println(date.gettime());

上面的语句首先创建了date的一个对象,接着使用gettime方法获得当前的时间,但是注意了,输出后的结果确实一串长整型的数字,这是为什么?实际上这是系统根据当前时间计算出来的一个long型的数,至于是如何计算出来的就不在本文中讲述了,那既然这样的话又如何显示正确的时间呢?这就要利用到上面的dateformat类了,这个类是一个基类,它有一个子类是simpledateformat,具体用法请看下面的代码:

date date = new date();
simpledateformat datefm = new simpledateformat("eeee-mmmm-dd-yyyy");
system.out.println(datefm.format(date));

这段代码开始创建了一个date的对象,用来获取当前时间,而重点就在于后面的simpledateformat对象,这个对继承了dateformat,利用format方法对date对象进行格式化,然后输出,而格式的定制是由用户定制的,eeee代表星期,mmmm代表月份,而dd代表日,yyyy代表年。使用这个方法就可以根据用户自定义的格式进行输出时间。

上面介绍了由用户自定义格式的输出时间,下面将来介绍通过java类库提供的标准格式输出时间,这就要用到dateformat类了,请看以下代码:

date date = new date();
dateformat datefm = dateformat.getdatetimeinstance(dateformat.short,
dateformat.short);
system.out.println(datefm.format(date));

这里使用的方法和用户自定义的方法差不多,只是这里使用的是一个抽象类,由于dateformat是一个抽象类,所以它不能通过构造函数构造对象,在这里是通过getdatetimeinstance()方法获得该对象,而所传递的参数就是dateformat里面定义的一些常量,系统根据这些常量输出当前时间,由于这里使用的是getdatetimeinstance方法,所以将传递两个常量参数,用来分别格式化日期和当前的时间。

上面讲述了如何获得系统时间以及如何格式化输出,那如果想获取或者设置时间当中的某一部分又该如何呢?例如年,月,日。这就要靠calendar这个类了,这个类也是一个抽象类,它有一个子类gregoriancalendar,接下来我会利用这个子类来演示这个过程,请看以下代码:

dateformat dateformat = dateformat.getdateinstance(dateformat.full);

gregoriancalendar cal = new gregoriancalendar();

cal.settime(new date());

system.out.println("system date: " + dateformat.format(cal.gettime()));

cal.set(gregoriancalendar.day_of_week,gregoriancalendar.friday);
system.out.println("after setting day of week to friday: " +
dateformat.format(cal.gettime()));

这段代码当中,首先创建了一个dateformat对象进行格式设置,接着创建了一个gregoriancalendar对象cal,接着使用cal.settime()方法设置cal对象中的时间为当前时间,然后通过format格式化由cal.gettime()返回的时间进行输出,后面利用set方法设置cal的日期为当前星期的friday,此时cal中存储的时间就是这个星期五的该时刻,而后面利用format格式化输出,假如当前时间为2005年1月27日星期4的11点30分,那么最后将那句将会输出2005年1月28日星期5的11点30分。

 
 
上一篇: java实现用dom文档和xml文件互换的操作    下一篇: 使用技巧:java实现随机验证码功能实例
  相关文档
什么是设计模式 11-16
用web.xml控制web应用的行为 11-17
对java编程中常用修饰词使用方法的介绍 11-16
java gui:在swing中设计windowclosing() 02-28
在实际开发中教您netbeans的使用图解 11-17
java学习的捷径 11-16
web services&xml:xml和j2ee的完美结合 01-11
将 java 代码与 jsp 组件分离 11-17
mock概述以及用mockobject进行测试 11-17
编程必备经典:java常见问题集锦(3) 11-16
用java编写客户-服务器程序的若干心得 11-17
tomcat配置技巧(转载) 11-17
嵌入式java的应用实例 11-17
jdk 1.5编译中的一个奇怪问题 11-17
java rmi编程 11-17
备忘录模式(memento pattern) 11-17
如何在2d graphics中使用双缓冲 11-17
smtp的配置 11-17
java多线程设计模式详解之一 11-17
在eclipse中扩展refactoringwizard 框架 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息