DateUtil.java 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package com.nosum.common.util;
  2. import java.time.Instant;
  3. import java.time.LocalDateTime;
  4. import java.time.LocalTime;
  5. import java.time.ZoneId;
  6. import java.time.format.DateTimeFormatter;
  7. public class DateUtil {
  8. public static final LocalTime MAX = LocalTime.of(23,59,59);
  9. /**
  10. * 将LocalDateTime转为自定义的时间格式的字符串
  11. */
  12. public static String getDateTimeAsString(LocalDateTime localDateTime, String format) {
  13. DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format);
  14. return localDateTime.format(formatter);
  15. }
  16. /**
  17. * 将long类型的timestamp转为LocalDateTime
  18. */
  19. public static LocalDateTime getDateTimeOfTimestamp(long timestamp) {
  20. Instant instant = Instant.ofEpochMilli(timestamp);
  21. ZoneId zone = ZoneId.systemDefault();
  22. return LocalDateTime.ofInstant(instant, zone);
  23. }
  24. /**
  25. * 将LocalDateTime转为long类型的timestamp
  26. */
  27. public static long getTimestampOfDateTime(LocalDateTime localDateTime) {
  28. ZoneId zone = ZoneId.systemDefault();
  29. Instant instant = localDateTime.atZone(zone).toInstant();
  30. return instant.toEpochMilli();
  31. }
  32. /**
  33. * 将某时间字符串转为自定义时间格式的LocalDateTime
  34. */
  35. public static LocalDateTime parseStringToDateTime(String time, String format) {
  36. DateTimeFormatter df = DateTimeFormatter.ofPattern(format);
  37. return LocalDateTime.parse(time, df);
  38. }
  39. }