蓝桥杯 18省赛 A2 星期一(日期类型)
标题:星期一
整个20世纪(1901年1月1日至2000年12月31日之间),一共有多少个星期一?
(不要告诉我你不知道今天是星期几)
================
心得:
//这时候没办法手算
//借助SimpleDateFormate Calendar GregorianCalendar
public class 细节_2 {
public static void main(String[] args) {
SimpleDateFormat s =new SimpleDateFormat("yyyy-MM-dd E");//这里查文档也可以知道 MM要大写(0-11),E表示周几
Calendar c1 =new GregorianCalendar(); //Calendar是抽象类必须借助GregorianCalendar
Calendar c2 =new GregorianCalendar();
c1.set(1901 ,0 ,1);
c2.set(2000 ,11 ,31);
long d =((c2.getTimeInMillis() -c1.getTimeInMillis())/(1000 *3600 *24)) +1; //一秒等于1000毫秒 ,+1不要遗漏
System.out.println(d / 7 + " " + d % 7); //多的那几天
//处理头部和尾部,这里可以结合日历理解
System.out.println(s.format(c1.getTime()));
System.out.println(s.format(c2.getTime()));
}
}