java 根据”指定日期“获取上一周和下一周开始与结束日期,获取当前周的开始结束日期
日期获取第一天从本周的周日开始获取:
根据指定日期获取上一周日期:
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(2020-1900,10-1,02));//2020-10-02String nextWeekReturnDate = getNextTimeInterval(new Date(2020-1900,10-1,02));
Log.e("本周日期",""+yz_time);
Log.e("指定日期获取上周日期",""+lastWeekReturnDate);
Log.e("指定日期获取下周周日期",""+nextWeekReturnDate);
输出形式为:
E/本周日期: 2020-04-06,2020-04-12
E/指定日期获取上周日期: 2020-09-21,2020-09-27
E/指定日期获取下周周日期: 2020-10-05,2020-10-11
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
