1,7天前的时间 //(完成时间)在7天前 Calendar calendar = Calendar.getInstance(); //设置为7天前 calendar.add(Calendar.DAY_OF_MONTH, -7); //得到7天前的时间
Date before7days = calendar.getTime();
2,一周内的查询时间节点(开始时间start00:00-结束时间end23:59)
HashMap<String, DateTime> lastWeekTime = WritingDateUtil.getLastWeekTime();
DateTime start = lastWeekTime.get("startLastWeekTime");
DateTime end = lastWeekTime.get("endLastWeekTime");
// 创建一个DateTimeFormatter来格式化日期时间
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String startString = formatter.format(start);
String endString = formatter.format(end);
工具类
class WritingDateUtil {
private static WritingDateUtil util;
@PostConstruct
public void init() {
util = this;
}
public static HashMap<String, DateTime> getLastWeekTime() {
Week week = DateTime.now().dayOfWeekEnum();
switch (week) {
/** 周一 */
case MONDAY:
return getRealizeLastWeekTime(-14, -8, -7, -1);
/** 周二 */
case TUESDAY:
return getRealizeLastWeekTime(-15, -9, -8, -2);
/** 周三 */
case WEDNESDAY:
return getRealizeLastWeekTime(-16, -10, -9, -3);
/** 周四 */
case THURSDAY:
return getRealizeLastWeekTime(-17, -11, -10, -4);
/** 周五 */
case FRIDAY:
return getRealizeLastWeekTime(-18, -12, -11, -5);
/** 周六 */
case SATURDAY:
return getRealizeLastWeekTime(-19, -13, -12, -6);
/** 周日 */
case SUNDAY:
return getRealizeLastWeekTime(-20, -14, -13, -7);
default:
throw new RuntimeException("method:getLastWeekTime,获取当前时间是周几异常");
}
}
private static HashMap<String, DateTime> getRealizeLastWeekTime(int upLastStartOffset, int upLastEndOffset, int lastStartOffset, int lastEndOffset) {
// 获取上周的开始时间和结束时间
DateTime startLastWeekTime = DateTime.now().offset(DateField.DAY_OF_YEAR, lastStartOffset)
.setField(DateField.HOUR_OF_DAY, 0).setField(DateField.MINUTE, 0)
.setField(DateField.SECOND, 0).setField(DateField.MILLISECOND, 0);
DateTime endLastWeekTime = DateTime.now().offset(DateField.DAY_OF_YEAR, lastEndOffset)
.setField(DateField.HOUR_OF_DAY, 23).setField(DateField.MINUTE, 59)
.setField(DateField.SECOND, 59).setField(DateField.MILLISECOND, 0);
HashMap<String, DateTime> maps = Maps.newHashMap();
maps.put("startLastWeekTime", startLastWeekTime);
maps.put("endLastWeekTime", endLastWeekTime);
return maps;
}
}