直接上代码,备份使用
//获取一个Calendar对象
Calendar calendar = Calendar.getInstance();
//设置星期一为一周开始的第一天
calendar.setFirstDayOfWeek(Calendar.MONDAY);
//设置在一年中第一个星期所需最少天数
calendar.setMinimalDaysInFirstWeek(4);
//获得当前的年
int weekYear = calendar.get(Calendar.YEAR);
//获得当前日期属于今年的第几周
int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR);
//格式化日期
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date parse = null;
try {
parse = simpleDateFormat.parse("2019-12-31");
System.out.println("2019-12-31转换后的日期为:" + parse);
} catch (ParseException e) {
e.printStackTrace();
}
calendar.setTime(parse);
int weekOfYear1 = calendar.get(Calendar.WEEK_OF_YEAR);
System.out.println("2019-12-31所在周属于第" + weekOfYear1 + "周");
Calendar c = new GregorianCalendar();
//设定日期为2019-12-31 23:59:59
c.set(2019, Calendar.DECEMBER, 31, 23, 59, 59);
//获得当前日期属于今年的第几周
Integer weekOfYearLastWeek1 = c.get(Calendar.WEEK_OF_YEAR);
System.out.println("当前日期属于第" + weekOfYearLastWeek1 + "周");
//获得指定年的第几周的开始日期(dayOfWeek是从周日开始排序的)
calendar.setWeekDate(2019, 52, 2);
//获得Calendar的时间
Date starttime = calendar.getTime();
//获得指定年的第几周的结束日期
calendar.setWeekDate(2019, 52, 1);
Date endtime = calendar.getTime();
//将时间戳格式化为指定格式
String dateStart = simpleDateFormat.format(starttime);
String dateEnd = simpleDateFormat.format(endtime);
System.out.println("2019年第52周的开始日期为:" + dateStart);
System.out.println("2019年第52周的结束日期为:" + dateEnd);