LocalDateTime和時間戳互轉
/** * 獲取到毫秒級時間戳 * @param localDateTime 具體時間 * @return long 毫秒級時間戳 */ public static long toEpochMilli(LocalDateTime localDateTime){ return localDateTime.toInstant(ZoneOffset.of("+8")).toEpochMilli(); } /** * 毫秒級時間戳轉 LocalDateTime * @param epochMilli 毫秒級時間戳 * @return LocalDateTime */ public static LocalDateTime ofEpochMilli(long epochMilli){ return LocalDateTime.ofInstant(Instant.ofEpochMilli(epochMilli), ZoneOffset.of("+8")); } /** * 獲取到秒級時間戳 * @param localDateTime 具體時間 * @return long 秒級時間戳 */ public static long toEpochSecond(LocalDateTime localDateTime){ return localDateTime.toEpochSecond(ZoneOffset.of("+8")); } /** * 秒級時間戳轉 LocalDateTime * @param epochSecond 秒級時間戳 * @return LocalDateTime */ public static LocalDateTime ofEpochSecond(long epochSecond){ return LocalDateTime.ofEpochSecond(epochSecond, 0,ZoneOffset.of("+8")); }
LocalDateTime和Date互轉
/** * Date時間類轉LocalDateTime * @param date Date時間類 * @return LocalDateTime */ public static LocalDateTime ofDate(Date date){ return date.toInstant().atOffset(ZoneOffset.of("+8")).toLocalDateTime(); } /** * LocalDateTime時間類轉 Date時間類 * @param localDateTime LocalDateTime時間類 * @return Date時間類 */ public static Date toDate(LocalDateTime localDateTime){ return Date.from(localDateTime.atZone(ZoneOffset.of("+8")).toInstant()); }
LocalDateTime和字符串互轉
/** * LocalDateTime轉時間格式字符串 * @param localDateTime 時間 * @return string */ public static String formatToString(LocalDateTime localDateTime){ String format = "yyyy:MM:dd HH:mm:ss"; DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(format); return localDateTime.format(dateTimeFormatter); } /** * 時間字符串 轉LocalDateTime * @param localDateTime 時間字符串 * @return LocalDateTime */ public static LocalDateTime stringToFormat(String localDateTime){ String format = "yyyy:MM:dd HH:mm:ss"; DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(format); return LocalDateTime.parse(localDateTime,dateTimeFormatter); }