100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > java 根据”指定日期“获取上一周和下一周开始与结束日期 获取当前周的开始结束日期

java 根据”指定日期“获取上一周和下一周开始与结束日期 获取当前周的开始结束日期

时间:2020-07-03 00:12:00

相关推荐

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(-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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。