/**
* 获取当前时间的一周的开始时间和结束时间
* @param date
* @return
*/
private List<String> getStartAndEndTime(Date date){
Calendar cal = Calendar.getInstance();
cal.setTime(date);
// 判断要计算的日期是否是周日,如果是则减一天计算周六的,否则会出问题,计算到下一周去了
int dayWeek = cal.get(Calendar.DAY_OF_WEEK);// 获得当前日期是一个星期的第几天
if (1 == dayWeek) {
cal.add(Calendar.DAY_OF_MONTH, -1);
}
// System.out.println("要计算日期为:" + sdf.format(cal.getTime())); // 输出要计算日期
// 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一
cal.setFirstDayOfWeek(Calendar.MONDAY);
// 获得当前日期是一个星期的第几天
int day = cal.get(Calendar.DAY_OF_WEEK);
// 根据日历的规则,给当前日期减去星期几与一个星期第一天的差值
cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//获取当天0点时间
cal.set(Calendar.HOUR_OF_DAY, 0);//控制时
cal.set(Calendar.MINUTE, 0);//控制分
cal.set(Calendar.SECOND, 0);//控制秒
String lastBeginDate = sdf.format(cal.getTime());
//获取当天23:59:59点时间
cal.set(Calendar.HOUR_OF_DAY, 23);
cal.set(Calendar.MINUTE, 59);
cal.set(Calendar.SECOND, 59);
cal.add(Calendar.DATE, 6);
String lastEndDate = sdf.format(cal.getTime());
ArrayList list = new ArrayList();
list.add(lastBeginDate);
list.add(lastEndDate);
return list;
}
java根据当前时间获取当前的一周的时间的工具类
最新推荐文章于 2024-06-14 10:52:22 发布