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