https://www.runoob.com/java/java-date-time.html
定义Calendar:
Calendar cal = Calender.getInstance();
//getInstance 获取的是当前日期
设置默认日期使用set方法:
cal.set():
//例:
calendar.set(2000, Calendar.JANUARY,1);//时间初始化为2000,1,1
注:
一月: January [ˈdʒænjuəri] 二月: February [ˈfebruəri]
三月: March [mɑdu:tʃ] 四月: April [´eiprəl]
五月: May [mei] 六月: June [dʒu:n]
七月: July [dʒu:ˈlai] 八月: August [ɔ:ˈɡʌst]
九月: September [səpˈtembə] 十月: October [ɔkˈtəubə]
十一月: November [nəuˈvembə] 十二月: December [diˈsembə]
获取定义日期的内容使用get方法:
cal.get();
//例:
cal.get(Calendar.YEAR);
特殊的:AM_PM 返回1则表示是下午,返回0表示上午。
注:0 为 一月,1 为 二月…12 为 下一年的一月。
添加运算add()方法:
calendar.add();
//例:
calendar.add (Calendar.YEAR, 1);//年
calendar.add (Calendar.MONTH, 1);//月
calendar.add (Calendar.DATE, 1);//日
calendar.add (Calendar.HOUR_OF_DAY, -1);//时
calendar.add (Calendar.MINUTE, 1);//分
calendar.add (Calendar.SECOND, 1);//秒
calendar.add (Calendar.DATE, 7);//周
注:
年份分为闰年与平年
闰年2月为29天,比平年多一天。
已知符合下列条件之一者是闰年:
(1)能被4整除,但不能被100整除。
(2)能被400整除。
题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小蓝每天都锻炼身体。
正常情况下,小蓝每天跑 11 千米。如果某天是周一或者月初(11 日),为了激励自己,小蓝要跑 22 千米。如果同时是周一或月初,小蓝也是跑 22 千米。
小蓝跑步已经坚持了很长时间,从 2000 年 1 月 1 日周六(含)到 2020 年 10 月 1 日周四(含)。请问这段时间小蓝总共跑步多少千米?
import java.util.Calendar;
public class Main {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.set(2000, Calendar.JANUARY,1);//时间初始化为2000,1,1
double step = 0;
while (true){
if (calendar.get(Calendar.YEAR) == 2020 && calendar.get(Calendar.MONTH) == Calendar.OCTOBER
&& calendar.get(Calendar.DATE) == 2){//包含10.1所有定义10.2结束
break;
}
if (calendar.get(Calendar.DAY_OF_WEEK) == 2 || calendar.get(Calendar.DATE) == 1){//week从1-星期天开始
step += 2;
}else {
step++;
}
calendar.add(Calendar.DATE,1);//日期加一
}
System.out.println(String.format("%.0f", step));
}
}