1.獲取當(dāng)前日期所在周的所有日期?
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.根據(jù)日期獲取當(dāng)前周所有日期?或者上周下周日期文章來源:http://www.zghlxwxcb.cn/news/detail-554761.html
/**
* 獲取當(dāng)前周的所有日期
* @param n -1代表上一周 +1代表下一周
* @param myDate 當(dāng)前日期
*/
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);
//判斷要計(jì)算的日期是否是周日,如果是則減一天計(jì)算周六的,否則會(huì)出問題,計(jì)算到下一周了
int dayWeek = cal.get(Calendar.DAY_OF_WEEK);//獲得當(dāng)前日期是一個(gè)星期的第幾天
if (1 == dayWeek) {
cal.add(Calendar.DAY_OF_MONTH, -1);
}
//設(shè)置一個(gè)星期的第一天,按中國(guó)的習(xí)慣一個(gè)星期的第一天是星期一
cal.setFirstDayOfWeek(Calendar.MONDAY);
//獲得當(dāng)前日期是一個(gè)星期的第幾天
int day = cal.get(Calendar.DAY_OF_WEEK);
//根據(jù)日歷的規(guī)則,給當(dāng)前日期減去星期幾與一個(gè)星期第一天的差值
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.根據(jù)日期獲取當(dāng)前第幾周文章來源地址http://www.zghlxwxcb.cn/news/detail-554761.html
public static int getWeekNum(Date date) {
GregorianCalendar g = new GregorianCalendar();
g.setTime(date);
return g.get(Calendar.WEEK_OF_YEAR); //獲得周數(shù)
}
到了這里,關(guān)于java中獲取當(dāng)前一周日期和上周下周日期當(dāng)前周數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!