用法:
SearchDate date = new SearchDate(index);//index值为0到4,含义见下面代码
String startTime = date.getStartTime();
String endTime = date.getEndTime();
import java.text.SimpleDateFormat; import java.util.Calendar; public class SearchDate { private String startTime; private String endTime; public SearchDate(int index){ int y, m, d; Calendar c = Calendar.getInstance(); y = c.get(Calendar.YEAR); m = c.get(Calendar.MONTH) + 1; d = c.get(Calendar.DAY_OF_MONTH); SimpleDateFormat format = new SimpleDateFormat("yyyy-M-d"); startTime =""; endTime = ""; switch(index){ case 0://今天 c = Calendar.getInstance(); startTime = format.format(c.getTime()); endTime = format.format(c.getTime()); break; case 1://本周 c = Calendar.getInstance(); c.setFirstDayOfWeek(Calendar.SUNDAY); c.set(Calendar.HOUR_OF_DAY, 0); c.set(Calendar.MINUTE, 0); c.set(Calendar.SECOND, 0); c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); startTime = format.format(c.getTime()); c = Calendar.getInstance(); c.setFirstDayOfWeek(Calendar.SUNDAY); c.set(Calendar.HOUR_OF_DAY, 23); c.set(Calendar.MINUTE, 59); c.set(Calendar.SECOND, 59); c.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY); endTime = format.format(c.getTime()); break; case 2://本月 c = Calendar.getInstance(); c.add(Calendar.MONTH, 0); c.set(Calendar.DAY_OF_MONTH, 1);// 设置为1号,当前日期既为本月第一天 startTime = format.format(c.getTime()); c = Calendar.getInstance(); c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH)); endTime = format.format(c.getTime()); break; case 3://本季度 if(m<=3){ startTime = y + "-1-1"; endTime = y + "-3-31"; }else if(m<=6){ startTime = y + "-4-1"; endTime = y + "-6-30"; }else if(m<=9){ startTime = y + "-7-1"; endTime = y + "-9-30"; }else { startTime = y + "-10-1"; endTime = y + "-12-31"; } break; case 4://本年 c = Calendar.getInstance(); startTime = y + "-1-1"; endTime = y + "-12-31"; break; } } public String getStartTime() { return startTime; } public String getEndTime() { return endTime; } }