1 使用JDK獲取當前所在星期的星期一
/**
* 取本周7天的第一天(周一的日期)
*/
public static Date getNowWeekBegin() {
int mondayPlus;
Calendar cd = Calendar.getInstance();
// 獲得今天是一周的第幾天,星期日是第一天,星期二是第二天......
int dayOfWeek = cd.get(Calendar.DAY_OF_WEEK) - 1; // 因為按中國禮拜一作為第一天所以這里減1
if (dayOfWeek == 1) {
mondayPlus = 0;
} else {
mondayPlus = 1 - dayOfWeek;
}
GregorianCalendar currentDate = new GregorianCalendar();
currentDate.add(GregorianCalendar.DATE, mondayPlus);
Date monday = currentDate.getTime();
monday = DateUtils.truncate(monday, Calendar.DATE);
return monday;
}
2 使用jode time 獲取當前所在星期的星期一
獲取本周星期一所在日期的零點時刻,時分秒為0, 比如:2016/10/17 0:0:0
public DateTime getNowWeekMonday() {
DateTime date = DateTime.now();
int dayOfWeek = date.getDayOfWeek();
return DateTime.parse(date.minusDays(dayOfWeek - 1).toString("yyyy-MM-dd"));
}
更簡單
date = LocalDate.now().dayOfWeek().withMinimumValue().toDate();
