世纪末的星期

2020-03-07 16:06:11来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

世纪末的星期

这是一道关于Calendar的例题——世纪末的星期

640 (1)

曾有邪教称1999年12月31日是世界末日,当然该谣言已经不攻自破。

还有人称今后的某个世纪末的12月31日,如果是星期一则会..….

有趣的是,任何一个世纪末的年份的12月31日都不可能是星期一!!!

于是,“谣言制造商”又修改为星期日......

1999年的12月31日是星期五,请问:未来哪一个离我们最近的一个世纪末年(即xx99年)的12月

31日正好是星期天(即星期日) ?

代码如下:

  1:    public static void main(String[] args) {
  2:       Calendar cal = Calendar.getInstance();
  3:       for(int year = 1999 ; year <10000 ;year+=100) {
  4:          cal.set(Calendar.YEAR, year);
  5:          cal.set(Calendar.MONTH, 11);
  6:          cal.set(Calendar.DAY_OF_MONTH, 31);
  7:          //sunday为第一天,值为1
  8:          if(cal.get(Calendar.DAY_OF_WEEK)==1) {
  9:             System.out.print(year);
 10:             break;
 11:          }
 12:       }
 13:    } 

运行结果为2299

Calendar 类是一个抽象类,它为特定时间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,主要用来操作日历时间字段。

set方法:

  1: Calendar calendar = Calendar.getInstance();
  2: calendar.set(Calendar.YEAR, 1999); // 设置年份
  3: calendar.set(Calendar.MONTH, 11);  // 设置月份,月份从0开始
  4: calendar.set(Calendar.DATE, 31);   // 设置天数
  5: calendar.set(Calendar.HOUR, 12);   // 设置小时,24小时是Calendar.HOUR_OF_DAY
  6: calendar.set(Calendar.MINUTE,12);  // 设置分
  7: calendar.set(Calendar.SECOND,49);  // 设置秒
  8: Date date = calendar.getTime();    // 转换成data类型
  9: System.out.println(date);          // 打印当前标准时间

部分get方法:

  1: int year = calendar.get(Calendar.YEAR);   // 获取年份
  2: int month = calendar.get(Calendar.MONTH); // 获取月份
  3: int day = calendar.get(Calendar.DATE);    // 获取天数



640


原文链接:https://www.cnblogs.com/qimuz/p/12437293.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:springboot~aspose操作word模板实现导出功能

下一篇:尚学堂java300集 第八章课后作业编码题