Java语言:时间和日期处理相关的代码实现
来源:优易学  2011-3-12 10:48:04   【优易学:中国教育考试门户网】   资料下载   IT书店

 

应用示例
  下面以两个简单的示例介绍时间和日期处理的基本使用。
  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);
  }
  }
  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();
  }
  }
  //换行
  System.out.println();
  }
  }
  关于时间和日期的处理就介绍这么多,更多的实现方法还需要根据具体问题进行对应的实现。

上一页  [1] [2] [3] 

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训