|
@@ -4,12 +4,19 @@ import java.lang.management.ManagementFactory;
|
|
|
import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.time.*;
|
|
|
+import java.time.temporal.TemporalAdjusters;
|
|
|
+import java.time.*;
|
|
|
import java.time.temporal.TemporalAdjuster;
|
|
|
import java.time.temporal.TemporalAdjusters;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
|
|
|
+import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+import java.util.stream.IntStream;
|
|
|
+import java.util.stream.Stream;
|
|
|
+
|
|
|
import org.apache.commons.lang3.time.DateFormatUtils;
|
|
|
|
|
|
/**
|
|
@@ -189,6 +196,97 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
|
|
|
ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault());
|
|
|
return Date.from(zdt.toInstant());
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取当前周一
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String monday()
|
|
|
+ {
|
|
|
+ LocalDate now = LocalDate.now();
|
|
|
+ LocalDate startOfWeek = now.with(DayOfWeek.MONDAY);
|
|
|
+ return String.valueOf(startOfWeek);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取上周一
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String lastMonday()
|
|
|
+ {
|
|
|
+ LocalDate now = LocalDate.now();
|
|
|
+ LocalDate lastMonday = now.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)).minusWeeks(1);
|
|
|
+ return String.valueOf(lastMonday);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取上周日
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String lastSunday()
|
|
|
+ {
|
|
|
+ LocalDate now = LocalDate.now();
|
|
|
+ LocalDate lastMonday = now.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)).minusWeeks(1);
|
|
|
+ LocalDate lastSunday = lastMonday.with(TemporalAdjusters.next(DayOfWeek.SUNDAY));
|
|
|
+ return String.valueOf(lastSunday);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取上周一到周日的时间
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static List<String> LastWeekList()
|
|
|
+ {
|
|
|
+ // 获取当前日期
|
|
|
+ LocalDate today = LocalDate.now();
|
|
|
+
|
|
|
+ // 获取上周的每一天
|
|
|
+ List<String> collect = IntStream.range(1, 8)
|
|
|
+ .mapToObj(day -> String.valueOf(today.with(TemporalAdjusters.previous(DayOfWeek.MONDAY)).minusWeeks(1).plusDays(day - 1))).collect(Collectors.toList());
|
|
|
+ return collect;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取本周一到周日的时间
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static List<String> weekList()
|
|
|
+ {
|
|
|
+ // 获取当前日期
|
|
|
+ LocalDate today = LocalDate.now();
|
|
|
+
|
|
|
+ // 获取上周的每一天
|
|
|
+ List<String> collect = IntStream.range(1, 8)
|
|
|
+ .mapToObj(day -> String.valueOf(today.with(TemporalAdjusters.previous(DayOfWeek.MONDAY)).plusDays(day - 1))).collect(Collectors.toList());
|
|
|
+ return collect;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public static void main(String[] args) {
|
|
|
+ String monday = monday();
|
|
|
+ String lastMonday = lastMonday();
|
|
|
+ List<String> collect = weekList();
|
|
|
+ System.out.println("当前周一:"+monday);
|
|
|
+ System.out.println("上周一:"+lastMonday);
|
|
|
+ System.out.println("上周日:"+collect);
|
|
|
+ // 获取当前日期
|
|
|
+ LocalDate today = LocalDate.now();
|
|
|
+
|
|
|
+ // 获取上周的每一天
|
|
|
+ IntStream.range(1, 8)
|
|
|
+ .mapToObj(day -> today.with(TemporalAdjusters.previous(DayOfWeek.MONDAY)).minusWeeks(1).plusDays(day - 1))
|
|
|
+ .forEach(System.out::println);
|
|
|
+ }
|
|
|
/**
|
|
|
* 增加 Date ==> LocalDate
|
|
|
*/
|