日期获取第一天从本周的周日开始获取:
根据指定日期获取上一周日期:
public String getLastTimeInterval(Date date){@SuppressLint("SimpleDateFormat")SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar calendar1 = Calendar.getInstance();Calendar calendar2 = Calendar.getInstance();calendar1.setTime(date);calendar2.setTime(date);int dayOfWeek = calendar1.get(Calendar.DAY_OF_WEEK) - 1;if(dayOfWeek <= 0){dayOfWeek = 7;}int offset1 = 1 - dayOfWeek;int offset2 = 7 - dayOfWeek;calendar1.add(Calendar.DATE, offset1 - 7);calendar2.add(Calendar.DATE, offset2 - 7);// last MondayString lastBeginDate = sdf.format(calendar1.getTime());// last Sunday String lastEndDate = sdf.format(calendar2.getTime());return lastBeginDate + "," + lastEndDate;}
根据指定日期获取下一周日期:
public String getNextTimeInterval(Date date){@SuppressLint("SimpleDateFormat")SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar calendar1 = Calendar.getInstance();Calendar calendar2 = Calendar.getInstance();calendar1.setTime(date);calendar2.setTime(date);int dayOfWeek = calendar1.get(Calendar.DAY_OF_WEEK) - 1;if(dayOfWeek <= 0){dayOfWeek = 7;}int offset1 = 1 - dayOfWeek;int offset2 = 7 - dayOfWeek;calendar1.add(Calendar.DATE, offset1 + 7);calendar2.add(Calendar.DATE, offset2 + 7);// last MondayString lastBeginDate = sdf.format(calendar1.getTime());// last Sunday String lastEndDate = sdf.format(calendar2.getTime());return lastBeginDate + "," + lastEndDate;}
获取当前周的日期:
public String getTimeInterval(Date date) {@SuppressLint("SimpleDateFormat")SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar cal = Calendar.getInstance();cal.setTime(date);int dayWeek = cal.get(Calendar.DAY_OF_WEEK);、if (1 == dayWeek) {cal.add(Calendar.DAY_OF_MONTH, 0);}cal.setFirstDayOfWeek(Calendar.MONDAY);int day = cal.get(Calendar.DAY_OF_WEEK);cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);String imptimeBegin = sdf.format(cal.getTime());cal.add(Calendar.DATE, 6);String imptimeEnd = sdf.format(cal.getTime());return imptimeBegin + "," + imptimeEnd;}
取值:
String yz_time=getTimeInterval(new Date());String lastWeekReturnDate = getLastTimeInterval(new Date(-1900,10-1,02));//-10-02String nextWeekReturnDate = getNextTimeInterval(new Date(-1900,10-1,02));Log.e("本周日期",""+yz_time);Log.e("指定日期获取上周日期",""+lastWeekReturnDate);Log.e("指定日期获取下周周日期",""+nextWeekReturnDate);
输出形式为:
E/本周日期: -04-06,-04-12E/指定日期获取上周日期: -09-21,-09-27E/指定日期获取下周周日期: -10-05,-10-11