直接上代码,备份使用
时间戳,长整型存储
long startTime1 = 1530613938532l;
Calendar calendar = Calendar.getInstance();
calendar.setFirstDayOfWeek(Calendar.MONDAY);//设置星期一为一周开始的第一天
calendar.setMinimalDaysInFirstWeek(4);//可以不用设置
calendar.setTimeInMillis(System.currentTimeMillis());//获得当前的时间戳
int weekYear = calendar.get(Calendar.YEAR);//获得当前的年
int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR);//获得当前日期属于今年的第几周
System.out.println("第几周:"+weekOfYear);
calendar.setWeekDate(weekYear, weekOfYear, 2);//获得指定年的第几周的开始日期
long starttime = calendar.getTime().getTime();//创建日期的时间该周的第一天,
calendar.setWeekDate(weekYear, weekOfYear, 1);//获得指定年的第几周的结束日期
long endtime = calendar.getTime().getTime();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
String dateStart = simpleDateFormat.format(starttime);//将时间戳格式化为指定格式
String dateEnd = simpleDateFormat.format(endtime);
System.out.println(dateStart);
System.out.println(dateEnd);
这个获取第几周的方法在跨年周上会出现问题
上面这种方式用来获取指定日期的周开始日期和结束日期是可以的,用来判断当前日期属于第几周则不行
转载至:https://www.cnblogs.com/gne-hwz/p/9325415.html
注意:本文归作者所有,未经作者允许,不得转载