主页 > 知识库 > 网络编程 > JSP/Java >

JAVA的Date类与Calendar类(3)

来源:中国IT实验室 作者:佚名 发表于:2013-07-11 10:59  点击:
//计算天数 long days = (t2 - t1)/(24 * 60 * 60 * 1000); System.out.println(days); } } 2、输出当前月的月历 该示例的功能是输出当前系统时间所在月的日历,例如当前系统时间是2009年3月10日,则输出2009年3

//计算天数  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();
  }
  }
  关于时间和日期的处理就介绍这么多,更多的实现方法还需要根据具体问题进行对应的实现。



有帮助
(0)
0%
没帮助
(0)
0%