public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
//Java 中月 1 - 12 月,分别对应是 0 - 11
//设定目前日期为 2000/02/01(29天)
//cal.set(2000, 1, 1);
System.out.println("现在的时间: " + cal.getTime());
System.out.println("本月共有 : " + cal.getActualMaximum(Calendar.WEEK_OF_MONTH) + " 周");
int date_Count = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
//Java 中星期 日、一、二、三、四、五、六,分别对应是 1 - 7
if ((cal.get(Calendar.DAY_OF_WEEK)) == 1) {
System.out.println("今天星期天");
} else if ((cal.get(Calendar.DAY_OF_WEEK)) == 2) {
System.out.println("今天星期一");
} else if ((cal.get(Calendar.DAY_OF_WEEK)) == 3) {
System.out.println("今天星期二");
} else if ((cal.get(Calendar.DAY_OF_WEEK)) == 4) {
System.out.println("今天星期三");
} else if ((cal.get(Calendar.DAY_OF_WEEK)) == 5) {
System.out.println("今天星期四");
} else if ((cal.get(Calendar.DAY_OF_WEEK)) == 6) {
System.out.println("今天星期五");
} else if ((cal.get(Calendar.DAY_OF_WEEK)) == 7) {
System.out.println("今天星期六");
}
}
追问我想获取2014-05-17到2014-12-18号之间所有的周一,怎么写呢?
追答Calendar cal = Calendar.getInstance();
cal.set(2014, 5, 17);
int s=0;
for(int i=0;i<365;i++){
cal.add(Calendar.DATE, i);//DATE=日
if ((cal.get(Calendar.DAY_OF_WEEK)) == 2) {
s++;
}
if(DateUtil.formatDate("yyyy-mm-dd",cal.getTime()).equals("2014-12-18"))break;
}
System.out.println("总共出现过:"+s+"次星期一");
追问cal.add(Calendar.DATE, i)应该是+1吧,其他我都看懂了,非常感谢
追答cal.add(Calendar.DATE, i)<---
我的起始时间是2014-05-17所以你说的+1 会一直在同一个时间喔!!!