package com.se.nsl.utils; import java.time.*; import java.time.format.DateTimeFormatter; import java.util.Date; /** * @author dcb */ public class TimeFormatUtil { private TimeFormatUtil() {} public static String formatTime(long time, String pattern) { Instant instant = Instant.ofEpochMilli(time); LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault()); DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); return localDateTime.format(formatter); } public static long toMillis(String time, String pattern) { DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); LocalDateTime dateTime = LocalDateTime.parse(time, formatter); return dateTime.toInstant(ZoneOffset.of("+8")).toEpochMilli(); } public static LocalDateTime toDate(long time) { Instant instant = Instant.ofEpochMilli(time); LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault()); return localDateTime; } public static String formatDate(Date date) { return formatTime(date.getTime(), "yyyy-MM-dd HH:mm:ss"); } public static void main(String[] args) { String s = "20250606142122"; String pattern = "yyyyMMddHHmmss"; long millis = toMillis(s, pattern); System.out.println("millis:" + millis); String str = formatTime(millis, pattern); System.out.println("str:" + str); } }