获取当天日期是年度的第几周以及该周的起始和结束日期
获取第几周
/**
* 获取某天的日期为所在年份的第几周
*/
@Test
public void test4() throws Exception {
Calendar calendar = Calendar.getInstance();
//月份从0开始
calendar.set(2022, Calendar.JANUARY, 1);
//设置星期一为一周开始的第一天
calendar.setFirstDayOfWeek(Calendar.MONDAY);
//设置在一年中第一个星期所需最少天数
calendar.setMinimalDaysInFirstWeek(1);
//获得当前日期属于今年的第几周
int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR);
System.out.println(weekOfYear);
}
获取周的日期
/**
* 获取某天的日期为所在年份的第几周的日期范围
*/
@Test
public void test5() throws Exception {
Calendar calendar = Calendar.getInstance();
// calendar.set(2022,Calendar.JANUARY,1);
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.setMinimalDaysInFirstWeek(1);
int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
System.out.println("当天是本年的第" + weekOfYear + "周");
//获得指定年的第几周的开始日期(dayOfWeek是从周日开始排序的)
calendar.setWeekDate(2022, weekOfYear, Calendar.MONDAY);
//获得Calendar的时间
Date starttime = calendar.getTime();
//获得指定年的第几周的结束日期
calendar.setWeekDate(2022, weekOfYear, Calendar.SUNDAY);
Date endtime = calendar.getTime();
//将时间戳格式化为指定格式
String dateStart = simpleDateFormat.format(starttime);
String dateEnd = simpleDateFormat.format(endtime);
System.out.println("该周的起始日期是 " + dateStart);
System.out.println("该周的结束日期是 " + dateEnd);
}
还没有评论,来说两句吧...