java獲取 本週一 本週日 下週一 下週日

//--------------------------------下週--------------------------------------
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Calendar cd = Calendar.getInstance();
cd.setTime(new Date());

// 得到入參日期是一週的第幾天
int dayOfWeek = cd.get(Calendar.DAY_OF_WEEK);
// 得到入參日期相對於下週一的偏移量(在國外,星期一是一週的次日,因此下週一是這周的第九天)
// 若入參日期是週日,它的下週一偏移量是1
int nextMondayOffset = dayOfWeek == 1 ? 1 : 9 - dayOfWeek;

// 增長到入參日期的下週一
cd.add(Calendar.DAY_OF_MONTH, nextMondayOffset);

String nextMonday= format.format(cd.getTime());


Calendar cd1 = Calendar.getInstance();
cd.setTime(new Date());

// 得到入參日期是一週的第幾天
int dayOfWeeks = cd1.get(Calendar.DAY_OF_WEEK);
// 得到入參日期相對於下週日的偏移量(在國外,星期一是一週的次日,因此下週日相對於本週來講,是第15天)
// 若入參日期是週日,它的下週日偏移量是7
int nextMondayOffsets = dayOfWeeks == 1 ? 7 : 15 - dayOfWeeks;

// 增長到入參日期的下週日
cd1.add(Calendar.DAY_OF_MONTH, nextMondayOffsets);
String nextSunday=format.format(cd1.getTime());

----------------------本週-----------------orm

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Calendar c=Calendar.getInstance(Locale.CHINA);
c.setFirstDayOfWeek(Calendar.MONDAY);
//當前時間,貌似多餘,實際上是爲了全部可能的系統一致
c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
String MONDAY = format.format(c.getTime());
c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
   String SUNDAY = format.format(c.getTime());
相關文章
相關標籤/搜索