public static java.sql.Date toSqlDate(Calendar c) {
return new java.sql.Date(c.getTimeInMillis());
}
public static Calendar getFirstDayOfWeek() {
Calendar monday = Calendar.getInstance();
return getADayOfWeek(monday, Calendar.MONDAY);
}
public static Calendar getFirstDayOfWeek(Calendar day) {
Calendar monday = (Calendar) day.clone();
return getADayOfWeek(monday, Calendar.MONDAY);
}
public static Calendar getLastDayOfWeek() {
Calendar sunday = Calendar.getInstance();
return getADayOfWeek(sunday, Calendar.SUNDAY);
}
public static Calendar getLastDayOfWeek(Calendar day) {
Calendar sunday = (Calendar) day.clone();
return getADayOfWeek(sunday, Calendar.SUNDAY);
}
private static Calendar getADayOfWeek(Calendar day, int dayOfWeek) {
int week = day.get(Calendar.DAY_OF_WEEK);
if (week == dayOfWeek)
return day;
int diffDay = dayOfWeek - week;
if (week == Calendar.SUNDAY) {
diffDay -= 7;
} else if (dayOfWeek == Calendar.SUNDAY) {
diffDay += 7;
}
day.add(Calendar.DATE, diffDay);
return day;
}
2011年10月19日 19:26