DateTimeUtils.java 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package com.izouma.awesomeAdmin.utils;
  2. import java.time.Instant;
  3. import java.time.LocalDate;
  4. import java.time.LocalDateTime;
  5. import java.time.format.DateTimeFormatter;
  6. import java.time.temporal.TemporalAccessor;
  7. public class DateTimeUtils {
  8. public static final String DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm";
  9. public static final String T_DATE_TIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ss";
  10. public static final String DATE_FORMAT = "yyyy-MM-dd";
  11. public static LocalDate toLocalDate(long ts) {
  12. if (String.valueOf(ts).length() > 10) {
  13. return LocalDate.from(Instant.ofEpochMilli(ts));
  14. } else {
  15. return LocalDate.from(Instant.ofEpochSecond(ts));
  16. }
  17. }
  18. public static LocalDateTime toLocalDateTime(long ts) {
  19. if (String.valueOf(ts).length() > 10) {
  20. return LocalDateTime.from(Instant.ofEpochMilli(ts));
  21. } else {
  22. return LocalDateTime.from(Instant.ofEpochSecond(ts));
  23. }
  24. }
  25. public static LocalDate toLocalDate(String str, String fmt) {
  26. return LocalDate.from(DateTimeFormatter.ofPattern(fmt).parse(str));
  27. }
  28. public static LocalDateTime toLocalDateTime(String str, String fmt) {
  29. return LocalDateTime.from(DateTimeFormatter.ofPattern(fmt).parse(str));
  30. }
  31. public static String format(TemporalAccessor temporal, String fmt) {
  32. return DateTimeFormatter.ofPattern(fmt).format(temporal);
  33. }
  34. public static long toTimestamp(TemporalAccessor temporal) {
  35. return Instant.from(temporal).toEpochMilli();
  36. }
  37. }