|
@@ -7,6 +7,7 @@ import java.text.SimpleDateFormat;
|
|
|
import java.time.*;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.time.temporal.Temporal;
|
|
|
+import java.time.temporal.TemporalAdjusters;
|
|
|
import java.time.temporal.TemporalUnit;
|
|
|
import java.util.Calendar;
|
|
|
import java.util.Date;
|
|
@@ -34,27 +35,47 @@ public class DateUtils {
|
|
|
private final static ZoneId ZONE_ID = ZoneId.systemDefault();
|
|
|
|
|
|
/**
|
|
|
- * 当前时间所在一周的周一时间
|
|
|
+ * 当前时间所在一周的周一时间:00:00:00
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
- public static String getWeekDate() {
|
|
|
+ public static LocalDateTime getMondayOfThisWeek() {
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
+ LocalDateTime monday = now.with(TemporalAdjusters.previous(DayOfWeek.SUNDAY)).plusDays(1).withHour(0).withMinute(0).withSecond(0);
|
|
|
+ return monday;
|
|
|
+ }
|
|
|
|
|
|
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ /**
|
|
|
+ * 得到本周周日:23:59:59
|
|
|
+ *
|
|
|
+ * @return yyyy-MM-dd
|
|
|
+ */
|
|
|
+ public static LocalDateTime getSundayOfThisWeek() {
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
+ LocalDateTime sunday = now.with(TemporalAdjusters.next(DayOfWeek.MONDAY)).minusDays(1).withHour(23).withMinute(59).withSecond(59);
|
|
|
+ return sunday;
|
|
|
+ }
|
|
|
|
|
|
- Calendar cal = Calendar.getInstance();
|
|
|
- // 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一
|
|
|
- cal.setFirstDayOfWeek(Calendar.MONDAY);
|
|
|
- // 获得当前日期是一个星期的第几天
|
|
|
- int dayWeek = cal.get(Calendar.DAY_OF_WEEK);
|
|
|
- if (dayWeek == 1) {
|
|
|
- dayWeek = 8;
|
|
|
- }
|
|
|
- // 根据日历的规则,给当前日期减去星期几与一个星期第一天的差值
|
|
|
- cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - dayWeek);
|
|
|
- Date mondayDate = cal.getTime();
|
|
|
- String weekBegin = sdf.format(mondayDate);
|
|
|
- return weekBegin;
|
|
|
+ /**
|
|
|
+ * 获取当前月第一天:00:00:00
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static LocalDateTime getFirstDayOfThisMonth() {
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
+ LocalDateTime firstday = now.with(TemporalAdjusters.firstDayOfMonth()).withHour(0).withMinute(0).withSecond(0);
|
|
|
+ return firstday;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取当前月最后一天:23:59:59
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static LocalDateTime getLastDayOfThisMonth() {
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
+ LocalDateTime lastDay = now.with(TemporalAdjusters.lastDayOfMonth()).withHour(23).withMinute(59).withSecond(59);
|
|
|
+ return lastDay ;
|
|
|
}
|
|
|
|
|
|
/**
|