当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
计算机二级考试指导:Java中取得当月最后一天的四种方法
发布时间:2010/3/30 18:21:54 来源:城市学习网 编辑:admin


  第一种,使用Calendar的roll方法,在限制某个日期字段不改变的形式下,改变其他日期字段的值。
  第二种,使用Calendar的getActualMaximum方法,获得指定日期字段的最大值。
  第三种,使用Calendar的set和add方法,从下个月的第一天计算得到当前月的最后一天。
  第四种,循环使用Calendar的add方法,加到的最后一天。
  以上四种方法如下示例:
  importjava.text.ParseException;
  importjava.text.SimpleDateFormat;
  importjava.util.Calendar;
  importjava.util.Date;
  publicclassDateTime{
  publicstaticvoidmain(Stringargs)throwsParseException{
  DateTimedt=newDateTime();
  Datedate=newSimpleDateFormat("yyyy-MM-dd").parse("2008-02-14");
  date=dt.lastDayOfMonth(date);
  System.out.println(newSimpleDateFormat("yyyy-MM-dd").format(date));
  date=newSimpleDateFormat("yyyy-MM-dd").parse("2008-02-14");
  date=dt.lastDayOfMonth2(date);
  System.out.println(newSimpleDateFormat("yyyy-MM-dd").format(date));
  date=newSimpleDateFormat("yyyy-MM-dd").parse("2008-02-14");
  date=dt.lastDayOfMonth3(date);
  System.out.println(newSimpleDateFormat("yyyy-MM-dd").format(date));
  date=newSimpleDateFormat("yyyy-MM-dd").parse("2008-02-14");
  date=dt.lastDayOfMonth4(date);
  System.out.println(newSimpleDateFormat("yyyy-MM-dd").format(date));
  }
  publicDatelastDayOfMonth(Datedate){
  Calendarcal=Calendar.getInstance();
  cal.setTime(date);
  cal.set(Calendar.DAY_OF_MONTH,1);
  cal.roll(Calendar.DAY_OF_MONTH,-1);
  returncal.getTime();
  }
  publicDatelastDayOfMonth2(Datedate){
  Calendarcal=Calendar.getInstance();
  cal.setTime(date);
  intvalue=cal.getActualMaximum(Calendar.DAY_OF_MONTH);
  cal.set(Calendar.DAY_OF_MONTH,value);
  returncal.getTime();
  }
  publicDatelastDayOfMonth3(Datedate){
  Calendarcal=Calendar.getInstance();
  cal.setTime(date);
  cal.set(Calendar.DAY_OF_MONTH,1);
  cal.add(Calendar.MONTH,1);
  cal.add(Calendar.DATE,-1);
  returncal.getTime();
  }
  publicDatelastDayOfMonth4(Datedate){
  Calendarcal=Calendar.getInstance();
  cal.setTime(date);
  do{
  cal.add(Calendar.DATE,1);
  }
  while(cal.get(Calendar.DATE)!=1);
  cal.add(Calendar.DATE,-1);
  returncal.getTime();
  }
  }
  输入日期:
  2008-02-14
  输出结果:
  2008-02-29
  2008-02-29
  2008-02-29
  2008-02-29

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved