DateUtil.java 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package com.ytpm.util;
  2. import java.time.LocalDate;
  3. import java.time.LocalDateTime;
  4. import java.time.ZoneId;
  5. import java.time.format.DateTimeFormatter;
  6. import java.util.Calendar;
  7. import java.util.Date;
  8. public class DateUtil {
  9. /**
  10. * 获取日期数字
  11. */
  12. public static int getDateNum(LocalDate currentDate) {
  13. // 定义日期格式化器,格式为YYYYMMDD
  14. DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
  15. // 将当前日期格式化为字符串
  16. String formattedDate = currentDate.format(formatter);
  17. // 将字符串转换为整数
  18. return Integer.parseInt(formattedDate);
  19. }
  20. private static final DateTimeFormatter DATE_FORMAT = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
  21. // 获取今日开始时间(00:00:00)
  22. public static Date getTodayStart() {
  23. LocalDateTime todayStart = LocalDate.now().atStartOfDay();
  24. return localDateTimeToDate(todayStart);
  25. }
  26. // 获取今日结束时间(23:59:59)
  27. public static Date getTodayEnd() {
  28. LocalDateTime todayEnd = LocalDate.now().atTime(23, 59, 59);
  29. return localDateTimeToDate(todayEnd);
  30. }
  31. // 获取昨日开始时间
  32. public static Date getYesterdayStart() {
  33. LocalDateTime yesterdayStart = LocalDate.now().minusDays(1).atStartOfDay();
  34. return localDateTimeToDate(yesterdayStart);
  35. }
  36. // 获取昨日结束时间
  37. public static Date getYesterdayEnd() {
  38. LocalDateTime yesterdayEnd = LocalDate.now().minusDays(1).atTime(23, 59, 59);
  39. return localDateTimeToDate(yesterdayEnd);
  40. }
  41. // 获取本月开始时间
  42. public static Date getMonthStart() {
  43. LocalDateTime monthStart = LocalDate.now().withDayOfMonth(1).atStartOfDay();
  44. return localDateTimeToDate(monthStart);
  45. }
  46. // 获取本月结束时间
  47. public static Date getMonthEnd() {
  48. LocalDateTime monthEnd = LocalDate.now().withDayOfMonth(
  49. LocalDate.now().lengthOfMonth()
  50. ).atTime(23, 59, 59);
  51. return localDateTimeToDate(monthEnd);
  52. }
  53. // 获取本周周一
  54. public static Date getWeekStart() {
  55. Calendar calendar = Calendar.getInstance();
  56. calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
  57. return calendar.getTime();
  58. }
  59. //获取本周周日
  60. public static Date getWeekEnd() {
  61. Calendar calendar = Calendar.getInstance();
  62. calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
  63. return calendar.getTime();
  64. }
  65. private static Date localDateTimeToDate(LocalDateTime localDateTime) {
  66. return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
  67. }
  68. }