/**
* <pre>
* 获取某月份第N周开始日期(即星期一)
* </pre>
*
* @param year 年
* @param month 月
* @param weekOrder 周次
* @return Date 某月份第N周开始日期,即周一(包含跨月),比如2014年1月的第一周的第一天为2013-12-30,也就是说,2014
* 年1月的第一周也就是2013年12月的最后一周
*/
public static Date getFirstDayOfWeekOrder(int year, int month, int weekOrder)
{
final Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, month - 1);
c.set(Calendar.DAY_OF_MONTH, 1); // 设为每个月的第一天(1号)
int dayOfWeek = c.get(Calendar.DAY_OF_WEEK); // 每个月的第一天为星期几
/*
* 星期日:1,星期一:2,星期二:3,星期三:4,星期四:5,星期五:6,星期六:7
* 转化为我们的使用习惯:星期一:1,星期二:2,星期三:3,星期四:4,星期五:5,星期六:6,星期日:7
*/
if (dayOfWeek != Calendar.SUNDAY)
{
dayOfWeek = dayOfWeek - 1;
}
else
{
dayOfWeek = 7;
}
c.add(Calendar.DAY_OF_MONTH, 1 - dayOfWeek); // 使其为每个月第一天所在周的星期一
c.add(Calendar.DAY_OF_MONTH, (weekOrder - 1) * 7);
return c.getTime();
}
获取某月份第N周开始日期(即星期一)
最新推荐文章于 2022-07-04 14:13:11 发布