1.获取当前日期所在周的所有日期
public static List<Date> dateToCurrentWeek(Date myDate) {
Calendar cal = Calendar.getInstance();
cal.setTime(myDate);
int b = cal.get(Calendar.DAY_OF_WEEK) - 1;
if (b == 0) {
b = 7;
}
Date fdate;
List<Date> list = new ArrayList<Date>();
Long fTime = mdate.getTime() - b * 24 * 3600000;
for (int a = 1; a <= 7; a++) {
fdate = new Date();
fdate.setTime(fTime + (a * 24 * 3600000));
list.add(a - 1, fdate);
}
return list;
}
2.根据日期获取当前周所有日期 或者上周下周日期文章来源:https://www.toymoban.com/news/detail-554761.html
/**
* 获取当前周的所有日期
* @param n -1代表上一周 +1代表下一周
* @param myDate 当前日期
*/
public static List<Date> getweek(int n, Date myDate) {
List<Date> date = new ArrayList<Date>();
try {
Calendar calendar = Calendar.getInstance();
calendar.setFirstDayOfWeek(Calendar.MONDAY);
Calendar cal = Calendar.getInstance();
cal.setTime(myDate);
//判断要计算的日期是否是周日,如果是则减一天计算周六的,否则会出问题,计算到下一周了
int dayWeek = cal.get(Calendar.DAY_OF_WEEK);//获得当前日期是一个星期的第几天
if (1 == dayWeek) {
cal.add(Calendar.DAY_OF_MONTH, -1);
}
//设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一
cal.setFirstDayOfWeek(Calendar.MONDAY);
//获得当前日期是一个星期的第几天
int day = cal.get(Calendar.DAY_OF_WEEK);
//根据日历的规则,给当前日期减去星期几与一个星期第一天的差值
cal.add(Calendar.DATE, (cal.getFirstDayOfWeek() - day + 7 * n));
date.add(cal.getTime());
for (int i = 1; i < 7; i++) {
cal.add(Calendar.DATE, 1);
date.add(cal.getTime());
}
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}
return date;
}
3.根据日期获取当前第几周文章来源地址https://www.toymoban.com/news/detail-554761.html
public static int getWeekNum(Date date) {
GregorianCalendar g = new GregorianCalendar();
g.setTime(date);
return g.get(Calendar.WEEK_OF_YEAR); //获得周数
}
到了这里,关于java中获取当前一周日期和上周下周日期当前周数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!