4
0

DateUtils.java 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package com.redxun.knowledge.utils;
  2. import org.apache.commons.lang.time.DateFormatUtils;
  3. import java.time.LocalDate;
  4. import java.time.format.DateTimeFormatter;
  5. import java.time.temporal.TemporalAdjusters;
  6. import java.util.Calendar;
  7. import java.util.Date;
  8. /**
  9. * 文件名: DateUtils
  10. * 作者: zizg
  11. * 时间: 2023/3/20
  12. * 描述:
  13. * 修改人:
  14. * 修改时间:
  15. * 修改内容:
  16. */
  17. public class DateUtils {
  18. private static String datePattern = "yyyy-MM-dd";
  19. private DateUtils(){
  20. }
  21. /**
  22. * 时间转时间字符串
  23. * @param date 日期
  24. * @return String
  25. */
  26. public static String format(Date date) {
  27. if (date == null)
  28. return "";
  29. return DateFormatUtils.format(date,datePattern);
  30. }
  31. /**
  32. * 获取某年第一天日期
  33. * @param year 年份
  34. * @return Date
  35. */
  36. public static Date getFirstOfYear(int year){
  37. Calendar calendar = Calendar.getInstance();
  38. calendar.clear();
  39. calendar.set(Calendar.YEAR, year);
  40. return calendar.getTime();
  41. }
  42. /**
  43. * 获取某年最后一天日期
  44. * @param year 年份
  45. * @return Date
  46. */
  47. public static Date getLastOfYear(int year){
  48. Calendar calendar = Calendar.getInstance();
  49. calendar.clear();
  50. calendar.set(Calendar.YEAR, year);
  51. calendar.roll(Calendar.DAY_OF_YEAR, -1);
  52. return calendar.getTime();
  53. }
  54. /**
  55. * 获取指定年月日的第一天
  56. * @param year
  57. * @param month
  58. * @param day
  59. * @return
  60. */
  61. public static String getFirstOfMonth(int year,int month,int day){
  62. LocalDate date = LocalDate.of(year, month, day);
  63. LocalDate firstDay = date.with(TemporalAdjusters.firstDayOfMonth());
  64. DateTimeFormatter df = DateTimeFormatter.ofPattern(datePattern);
  65. String dateStr = firstDay.format(df);
  66. return dateStr;
  67. }
  68. /**
  69. * 获取指定年月日的最后一天
  70. * @param year
  71. * @param month
  72. * @param day
  73. * @return
  74. */
  75. public static String getLastOfMonth(int year,int month,int day){
  76. LocalDate date = LocalDate.of(year, month, day);
  77. LocalDate lastDay = date.with(TemporalAdjusters.lastDayOfMonth());
  78. DateTimeFormatter df = DateTimeFormatter.ofPattern(datePattern);
  79. String dateStr = lastDay.format(df);
  80. return dateStr;
  81. }
  82. }