java获得当前日期是今年的第几周,以及这周的开始日期的方法

直接上代码,备份使用        

//获取一个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);
 

你可能感兴趣的:(java,java,servlet,jvm)