如何判断两个时间是否是从周一开始到周日结束

弱弱的请教下: 如何判断两个时间是否在同一周,(周一是开始,周日是结束)?

[code="java"]
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Test {
private static final DateFormat datetimeDf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

/**
 * @param args
 */
public static void main(String[] args) {
    try {
        // 定义两个时间
        String dateStr1 = "2010-01-27 00:00:00";
        String dateStr2 = "2010-01-30 23:59:59";
        Date date1 = datetimeDf.parse(dateStr1);
        Date date2 = datetimeDf.parse(dateStr2);

        // 比较
        System.out.println(Test.compare(date1, date2) ? "两个时间在同一周" : "两个时间不在同一周");
    } catch (ParseException e) {
        e.printStackTrace();
    }
}

/**
 * 判断两个时间是否在同一周
 * 
 * @param firstDate
 * @param secondDate
 * @return
 * @throws ParseException
 */
public static boolean compare(Date firstDate, Date secondDate) throws ParseException {
    /** 以下先根据第一个时间找出所在周的星期一、星期日, 再对第二个时间进行比较 */

    Calendar calendarMonday = Calendar.getInstance();
    calendarMonday.setTime(firstDate);

    // 获取firstDate在当前周的第几天. (星期一~星期日:1~7)
    int monday = calendarMonday.get(Calendar.DAY_OF_WEEK);
    if (monday == 0) monday = 7;

    // 星期一开始时间
    calendarMonday.add(Calendar.DAY_OF_MONTH, - monday + 1);
    calendarMonday.set(Calendar.HOUR, 0);
    calendarMonday.set(Calendar.MINUTE, 0);
    calendarMonday.set(Calendar.SECOND, 0);

    // 星期日结束时间
    Calendar calendarSunday = Calendar.getInstance();
    calendarSunday.setTime(calendarMonday.getTime());
    calendarSunday.add(Calendar.DAY_OF_MONTH, 6);
    calendarSunday.set(Calendar.HOUR, 23);
    calendarSunday.set(Calendar.MINUTE, 59);
    calendarSunday.set(Calendar.SECOND, 59);

    System.out.println("星期一开始时间:" + datetimeDf.format(calendarMonday.getTime()));
    System.out.println("星期日结束时间:" + datetimeDf.format(calendarSunday.getTime()));

    // 比较第二个时间是否与第一个时间在同一周
    if (secondDate.getTime() >= calendarMonday.getTimeInMillis() && 
            secondDate.getTime() <= calendarSunday.getTimeInMillis()) {
        return true;
    }
    return false;
}

}

[/code]

(时间a.gettime-时间b.gettime)的绝对值<7天的毫秒数

[code="java"]
select 1 from dual where to_char(to_date('20110113','yyyymmdd'),'YYYYWW') = to_char(to_date('20110113','yyyymmdd'),'YYYYWW')
[/code]

[code="java"]Calendar c = Calendar.getInstance();
c.add(Calendar.DAY_OF_MONTH,-1);

int week = c.get(c.WEEK_OF_MONTH);
System.out.println(week);[/code]
两天的week值一致,表示在同一周,周一--周日.

你取date在一年中的周数啊,周数相等。不就OK了