判断两日期是否在同一周中的函数

来源:互联网 发布:edna数据库客户端 编辑:程序博客网 时间:2024/05/17 22:44

public boolean isSameDate(String date1,String date2) {
    SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
    Date d1 = null;
    Date d2 = null;
    try {
   
     d1 = format.parse(KA1Util.ymdToSymd(date1));
     d2 = format.parse(KA1Util.ymdToSymd(date2));
    
    } catch(Exception e) {
     e.printStackTrace();
    }

    Calendar cal1 = Calendar.getInstance();
    Calendar cal2 = Calendar.getInstance();
    cal1.setTime(d1);
    cal2.setTime(d2);

    int subYear = cal1.get(Calendar.YEAR)-cal2.get(Calendar.YEAR);
    if (subYear == 0) {
     if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR)) {
      return true;
     }
    } else if (subYear==1 && cal2.get(Calendar.MONTH)==11) {
     if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR)) {
      return true;
     }
    } else if (subYear==-1 && cal1.get(Calendar.MONTH)==11) {
     if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR)) {
      return true;
     }
    }
    return false;
  }

原创粉丝点击