只要输出cal.getTime() 都是相对应的时间。
//本周 (thisWeek)
if(null != qdto.getSearchContent() && qdto.getSearchContent().equals("thisWeek")){
Calendar cal = Calendar.getInstance();
int day_of_week = cal.get(Calendar.DAY_OF_WEEK) - 2;
cal.add(Calendar.DATE, -day_of_week);
//本周第一天
dc.add(Restrictions.and(Restrictions.ge("draftingTiem",cal.getTime()),
Restrictions.or(Restrictions.eq("dataFlag", one), Restrictions.eq("dataFlag", two))));
cal.add(Calendar.DATE, 6);
//本周最后一天
dc.add(Restrictions.and(Restrictions.le("draftingTiem",cal.getTime()),
Restrictions.or(Restrictions.eq("dataFlag", one), Restrictions.eq("dataFlag", two))));
}
//上周 (lastWeek)
if(null != qdto.getSearchContent() && qdto.getSearchContent().equals("lastWeek")){
Calendar cal=Calendar.getInstance();
cal.set(Calendar.DAY_OF_WEEK, 1);
//上周日
dc.add(Restrictions.and(Restrictions.le("draftingTiem",cal.getTime()),
Restrictions.or(Restrictions.eq("dataFlag", one), Restrictions.eq("dataFlag", two))));
cal.add(Calendar.WEEK_OF_MONTH, -1);
cal.set(Calendar.DAY_OF_WEEK, 2);
//上周一
dc.add(Restrictions.and(Restrictions.ge("draftingTiem",cal.getTime()),
Restrictions.or(Restrictions.eq("dataFlag", one), Restrictions.eq("dataFlag", two))));
}
//本月 (thisMonth)
if(null !=qdto.getSearchContent() && qdto.getSearchContent().equals("thisMonth")){
Calendar cal = new GregorianCalendar();
cal.set( Calendar.DATE, 1 );
//本月的第一天
dc.add(Restrictions.and(Restrictions.ge("draftingTiem",cal.getTime()),
Restrictions.or(Restrictions.eq("dataFlag", one), Restrictions.eq("dataFlag", two))));
cal.set( Calendar.DATE, 1 );
cal.roll(Calendar.DATE, - 1 );
//本月的最后一天
dc.add(Restrictions.and(Restrictions.le("draftingTiem",cal.getTime()),
Restrictions.or(Restrictions.eq("dataFlag", one), Restrictions.eq("dataFlag", two))));
}
//上月 (lastMonth)
if(null != qdto.getSearchContent() && qdto.getSearchContent().equals("lastMonth")){
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_MONTH, 1);
cal.add(Calendar.DAY_OF_MONTH, -1);
//上月最后一天
dc.add(Restrictions.and(Restrictions.le("draftingTiem",cal.getTime()),
Restrictions.or(Restrictions.eq("dataFlag", one), Restrictions.eq("dataFlag", two))));
cal.set( Calendar.DATE, 1 );
//上月第一天
dc.add(Restrictions.and(Restrictions.ge("draftingTiem",cal.getTime()),
Restrictions.or(Restrictions.eq("dataFlag", one), Restrictions.eq("dataFlag", two))));
}