public static int getWeek(){ Calendar cal = Calendar.getInstance(); int dayOfWeek = Calendar.DAY_OF_WEEK; int nowDayOfWeek = cal.get(dayOfWeek); return nowDayOfWeek; } 上面方法返回的是明天的星期,我要的是当前系统时间的星期
public static Integer dateToWeek(String sDate) { Calendar cal = Calendar.getInstance(Locale.CHINESE); cal .set(Integer.parseInt(sDate.substring(0, 4)), Integer .parseInt(sDate.substring(5, 7)) + 1, Integer .parseInt(sDate.substring(8, 10))); if (cal.get(Calendar.DAY_OF_WEEK) == 1) { return 2; } else if (cal.get(Calendar.DAY_OF_WEEK) == 7) { return 1; } else { return cal.get(Calendar.DAY_OF_WEEK) + 1; } }这是我常用的,你可以试试……
还有这么一个公式计算当天是星期几: public static void main(String[ ] args) { int dayValue=14; int monthValue=12; int yearValue=2009; System.out.println((dayValue+2*monthValue+3*(monthValue+1)/5+yearValue+yearValue/4-yearValue/100+yearValue/400)%7+1); }红色部分是定义好的公式。公式后面加1是定义星期一为星期的第一天。
Calendar cal = Calendar.getInstance(Locale.CHINESE);
cal
.set(Integer.parseInt(sDate.substring(0, 4)), Integer
.parseInt(sDate.substring(5, 7)) + 1, Integer
.parseInt(sDate.substring(8, 10))); if (cal.get(Calendar.DAY_OF_WEEK) == 1) {
return 2;
} else if (cal.get(Calendar.DAY_OF_WEEK) == 7) {
return 1;
} else {
return cal.get(Calendar.DAY_OF_WEEK) + 1;
}
}这是我常用的,你可以试试……
int dayValue=14;
int monthValue=12;
int yearValue=2009;
System.out.println((dayValue+2*monthValue+3*(monthValue+1)/5+yearValue+yearValue/4-yearValue/100+yearValue/400)%7+1);
}红色部分是定义好的公式。公式后面加1是定义星期一为星期的第一天。