快速业务通道

Java编程那些事儿78——时间和日期处理 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-24
ndar.getInstance(); c7.setTime(d);

5、Calendar对象和相对时间之间的互转

Calendar c8 = Calendar.getInstance(); long t = 1252785271098L; //将Calendar对象转换为相对时间 long t1 = c8.getTimeInMillis(); //将相对时间转换为Calendar对象 Calendar c9 = Calendar.getInstance(); c9.setTimeInMillis(t1);

在转换时,使用Calendar类中的getTimeInMillis方法可以将Calendar对象转换为相对时间。在将相对时间转换为Calendar对象时,首先创建一个Calendar对象,然后再使用Calendar类的setTimeInMillis方法设置时间即可。

Java编程那些事儿78——时间和日期处理(7)

时间:2010-03-15 csdn 陈跃峰

9.6.1.3 应用示例

下面以两个简单的示例介绍时间和日期处理的基本使用。

1、计算两个日期之间相差的天数

例如计算2010年4月1号和2009年3月11号之间相差的天数,则可以使用时间和日期处理进行计算。

该程序实现的原理为:首先代表两个特定的时间点,这里使用Calendar的对象进行代表,然后将两个时间点转换为对应的相对时间,求两个时间点相对时间的差值,然后除以1天的毫秒数(24小时X60分钟X60秒X1000毫秒)即可获得对应的天数。实现该示例的完整代码如下:

import java.util.*; /** * 计算两个日期之间相差的天数 */ public class DateExample1 {  public static void main(String[] args) {   //设置两个日期   //日期:2009年3月11号   Calendar c1 = Calendar.getInstance();   c1.set(2009, 3 - 1, 11);   //日期:2010年4月1号   Calendar c2 = Calendar.getInstance();   c2.set(2010, 4 - 1, 1);   //转换为相对时间   long t1 = c1.getTimeInMillis();   long t2 = c2.getTimeInMillis();   //计算天数   long days = (t2 - t1)/(24 * 60 * 60 * 1000);   System.out.println(days);  } }

Java编程那些事儿78——时间和日期处理(8)

时间:2010-03-15 csdn 陈跃峰

2、输出当前月的月历

该示例的功能是输出当前系统时间所在月的日历,例如当前系统时间是2009年3月10日,则输出2009年3月的日历。

该程序实现的原理为:首先获得该月1号是星期几,然后获得该月的天数,最后使用流程控制实现按照日历的格式进行输出即可。即如果1号是星期一,则打印一个单位的空格,如果1号是星期二,则打印两个单位的空格,依次类推。打印完星期六的日期以后,进行换行。实现该示例的完整代码如下:

import java.util.*; /** * 输出当前月的日历 */ public class DateExample2{  public static void main(String[] args){   //获得当前时间   Calendar c = Calendar.getInstance();   //设置代表的日期为1号   c.set(Calendar.DATE,1);   //获得1号是星期几   int start = c.get(Calendar.DAY_OF_WEEK);   //获得当前月的最大日期数   int maxDay = c.getActualMaximum(Calendar.DATE);   //输出标题   System.out.println("星期日 星期一 星期二 星期三 星期四 星期五   星期六");   //输出开始的空格   for(int i = 1;i < start;i++){    System.out.print("      ");   }   //输出该月中的所有日期   for(int i = 1;i <= maxDay;i++){    //输出日期数字    System.out.print(" " + i);    //输出分隔空格    System.out.print("     ");    if(i < 10){     System.out.print('' '');    }    //判断是否换行    if((start + i - 1) % 7 == 0){     System.out.println();    }

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号