ReportDateUtil.java 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package com.kingdee.eas.custom.perfweb.util;
  2. import java.util.Calendar;
  3. /**
  4. * 类名称: ReportDateUtil
  5. * 功能描述: 报表日期工具
  6. * 创建日期: 2026-06-23
  7. * 作 者: 青梧
  8. * 版 本: 1.0
  9. */
  10. public final class ReportDateUtil {
  11. private ReportDateUtil() {
  12. }
  13. public static String getMonthStart(String year, int month) {
  14. return year + "-" + String.format("%02d", month) + "-01";
  15. }
  16. public static String getMonthEnd(String year, int month) {
  17. return year + "-" + String.format("%02d", month) + "-" + getLastDayOfMonth(Integer.parseInt(year), month);
  18. }
  19. public static String formatMonthLabel(String year, int month) {
  20. return year + "年" + month + "月";
  21. }
  22. public static String getLastDayOfMonth(int year, int month) {
  23. Calendar calendar = Calendar.getInstance();
  24. calendar.set(year, month - 1, 1);
  25. int lastDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
  26. return String.format("%02d", lastDay);
  27. }
  28. public static String getNextMonthStart(String year, int month) {
  29. if (month == 12) {
  30. return (Integer.parseInt(year) + 1) + "-01-01";
  31. }
  32. return year + "-" + String.format("%02d", month + 1) + "-01";
  33. }
  34. public static String formatMonthLabelFromDayKey(String dayKey) {
  35. if (dayKey == null || dayKey.length() < 7) {
  36. return dayKey;
  37. }
  38. String year = dayKey.substring(0, 4);
  39. int month = Integer.parseInt(dayKey.substring(5, 7));
  40. return formatMonthLabel(year, month);
  41. }
  42. }