获取某一周的起始日期和结束日期

来源:互联网 发布:vb left函数的使用方法 编辑:程序博客网 时间:2024/05/17 08:37

private static final SimpleDateFormat FORMAT_DATE = new SimpleDateFormat(
   ConfigHomeHelper.getValueByConfig("format.date"));

 

/**
  * 计算某年某周的开始日期
  *
  * @param yearNum
  *            格式 yyyy
  * @param weekNum
  *            1到52或者53
  * @return 日期,格式为yyyy-MM-dd
  */
 public static String getYearWeekFirstDay(int yearNo, int weekNo) {
  Calendar cal = Calendar.getInstance();
  cal.setFirstDayOfWeek(Calendar.SUNDAY); // 设置每周的第一天为星期一
  cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);// 每周从周一开始
  // 上面两句代码配合,才能实现,每年度的第一个周,是包含第一个星期一的那个周。
  cal.setMinimalDaysInFirstWeek(7); // 设置每周最少为7天
  cal.set(Calendar.YEAR, yearNo);
  cal.set(Calendar.WEEK_OF_YEAR, weekNo);
  // 分别取得当前日期的年、月、日
  return FORMAT_DATE.format(cal.getTime());
 }

 /**
  * 计算某年某周的结束日期
  *
  * @param yearNum
  *            格式 yyyy
  * @param weekNum
  *            1到52或者53
  * @return 日期,格式为yyyy-MM-dd
  */
 public static String getYearWeekEndDay(int yearNo, int weekNo) {
  Calendar cal = Calendar.getInstance();
  cal.setFirstDayOfWeek(Calendar.SUNDAY); // 设置每周的第一天为星期一
  cal.set(Calendar.DAY_OF_WEEK,Calendar.SATURDAY);// 每周从周一开始
  // 上面两句代码配合,才能实现,每年度的第一个周,是包含第一个星期一的那个周。
  cal.setMinimalDaysInFirstWeek(7); // 设置每周最少为7天
  cal.set(Calendar.YEAR, yearNo);
  cal.set(Calendar.WEEK_OF_YEAR, weekNo);
  return FORMAT_DATE.format(cal.getTime());
 }

原创粉丝点击