DateUtils.java 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package com.zanxiang.common.utils;
  2. import com.zanxiang.module.util.DateUtil;
  3. import java.time.LocalDate;
  4. import java.time.LocalDateTime;
  5. import java.time.LocalTime;
  6. import java.time.temporal.TemporalAdjusters;
  7. /**
  8. * 时间工具类
  9. *
  10. * @author ruoyi
  11. */
  12. public class DateUtils extends DateUtil {
  13. /**
  14. * 验证当前时间是否为当天
  15. *
  16. * @param time
  17. * @return
  18. */
  19. public static boolean isToday(LocalDateTime time) {
  20. LocalDateTime startTime = LocalDateTime.now().with(LocalTime.MIN);
  21. LocalDateTime endTime = LocalDateTime.now().with(LocalTime.MAX);
  22. //如果大于今天的开始日期,小于今天的结束日期
  23. return time.isAfter(startTime) && time.isBefore(endTime);
  24. }
  25. /**
  26. * 验证当前时间是否为当月
  27. *
  28. * @param time
  29. * @return
  30. */
  31. public static boolean isThisMonth(LocalDateTime time) {
  32. LocalDate localDate = time.toLocalDate();
  33. LocalDate now = LocalDate.now();
  34. return localDate.isAfter(now.minusMonths(1).with(TemporalAdjusters.lastDayOfMonth())) &&
  35. localDate.isBefore(now.plusMonths(1).with(TemporalAdjusters.firstDayOfMonth()));
  36. }
  37. /**
  38. * 验证当前时间是否为本周
  39. *
  40. * @param time
  41. * @return
  42. */
  43. public static boolean isThisWeek(LocalDateTime time) {
  44. LocalDateTime now = LocalDateTime.now();
  45. int dayOfWeek = now.getDayOfWeek().getValue();
  46. LocalDateTime weekStart = now.minusDays(dayOfWeek - 1).with(LocalTime.MIN);
  47. LocalDateTime weekEnd = now.plusDays(7 - dayOfWeek).with(LocalTime.MAX);
  48. return time.isAfter(weekStart) && time.isBefore(weekEnd);
  49. }
  50. }