Java8中對時間的處理主要是LocalDate、LocalTime、LocalDateTime這幾個類實現,直接看下面的測試代碼,註釋很詳細。 @[TOC]java
/** * java8時間處理測試 * LocalDate、LocalTime、LocalDateTime * 說明: * <p> * 建立人: LGQ <br> * 建立時間: 2018年8月21日 下午1:52:28 <br> * <p> * 修改人: <br> * 修改時間: <br> * 修改備註: <br> * </p> */ public static void java8DateTest() { /** * LocalDate */ System.out.println(">>>>>>>>>LocalDate<<<<<<<<"); //獲取當前日期,2018-08-21 LocalDate localDate = LocalDate.now(); System.err.println("當前日期>" + localDate); //獲取當前年 2018 System.err.println(localDate + "當前年>" + localDate.getYear()); //獲取當前月 8 System.err.println(localDate + "當前月>" + localDate.getMonthValue()); //獲取當前年中的日 233 System.err.println(localDate + "當前年中的日>" + localDate.getDayOfYear()); //獲取當前月中的日 21 System.err.println(localDate + "當前月中的日>" + localDate.getDayOfMonth()); //獲取當前星期中的日 2 System.err.println(localDate + "當前星期中的日>" + localDate.getDayOfWeek().getValue()); //當前日期前一天,2018-08-20 minus:(表示運算)減去 System.err.println(localDate + "前一天>" + localDate.minusDays(1)); //當前日期後一天,2018-08-20 plus:(表示運算)加 System.err.println(localDate + "後一天>" + localDate.plusDays(1)); //當前日期前一月,2018-07-21 minus:(表示運算)減去 System.err.println(localDate + "前一月>" + localDate.minusMonths(1)); //當前日期後一月,2018-09-21 plus:(表示運算)加 System.err.println(localDate + "後一月>" + localDate.plusMonths(1)); //當前日期前一年,2017-08-21 minus:(表示運算)減去 System.err.println(localDate + "前一年>" + localDate.minusYears(1)); //當前日期後一年,2019-08-21 plus:(表示運算)加 System.err.println(localDate + "後一年>" + localDate.plusYears(1)); //當前日期前一週,2018-08-14 minus:(表示運算)減去 System.err.println(localDate + "前一週>" + localDate.minusWeeks(1)); //當前日期後一週,2018-08-28 plus:(表示運算)加 System.err.println(localDate + "後一週>" + localDate.plusWeeks(1)); /** * LocalTime */ System.out.println(">>>>>>>>>LocalTime<<<<<<<<"); //獲取當前時間 11:36:13.693 LocalTime localTime = LocalTime.now(); System.err.println("當前時間>" + localTime); //獲取當前時 11 System.err.println(localTime + "當前時>" + localTime.getHour()); //獲取當前分 38 System.err.println(localTime + "當前分>" + localTime.getMinute()); //獲取當前秒 26 System.err.println(localTime + "當前秒>" + localTime.getSecond()); //當前時間前一時,11:36:12.693 minus:(表示運算)減去 System.err.println(localTime + "前一時>" + localTime.minusHours(1)); //當前時間後一時,11:36:12.693 minus:(表示運算)減去 System.err.println(localTime + "後一時>" + localTime.plusHours(1)); //當前時間前一分,11:39:05.970 minus:(表示運算)減去 System.err.println(localTime + "前一分>" + localTime.minusMinutes(1)); //當前時間後一分,11:36:12.693 minus:(表示運算)減去 System.err.println(localTime + "後一分>" + localTime.plusMinutes(1)); //當前時間前一秒,11:36:12.693 minus:(表示運算)減去 System.err.println(localTime + "前一秒>" + localTime.minusSeconds(1)); //當前時間後一秒,11:36:12.693 minus:(表示運算)減去 System.err.println(localTime + "後一秒>" + localTime.plusSeconds(1)); /** * localDateTime * LocalDateTime類是Java 8中日期時間功能裏,用於表示當地的日期與時間的類,它的值是無時區屬性的。 * 你能夠將其視爲Java 8中LocalDate與LocalTime兩個類的結合。 * 你能夠經過這些方法訪問其日期時間 * getYear() getMonth() getDayOfMonth() getDayOfWeek() getDayOfYear() getHour() getMinute() getSecond() getNano() */ System.out.println(">>>>>>>>>localDateTime<<<<<<<<"); LocalDateTime localDateTime = LocalDateTime.now(); System.err.println("當前完整日期>" + localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); /** * 時間格式化 */ System.out.println(">>>>>>>>>時間格式化<<<<<<<<"); DateTimeFormatter formatDataTime = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); DateTimeFormatter formatDate = DateTimeFormatter.ofPattern("yyyy-MM-dd"); DateTimeFormatter formatTime = DateTimeFormatter.ofPattern("HH:mm:ss"); String formatDataTimeStr = localDateTime.format(formatDataTime); String formatDateStr = localDateTime.format(formatDate); String formatTimeStr = localDateTime.format(formatTime); System.err.println("完整日期格式化以後" + formatDataTimeStr); System.err.println("日期格式化以後" + formatDateStr); System.err.println("時間格式化以後" + formatTimeStr); /** * 時間比較大小 */ System.out.println(">>>>>時間比較大小<<<<<"); LocalDateTime time1 = LocalDateTime.parse("2018-05-12 08:30:30", formatDataTime); LocalDateTime time2 = LocalDateTime.parse("2018-04-20 16:30:30", formatDataTime); System.err.println("time1=" + time1); System.err.println("time2=" + time2); System.err.println("time1==time2:" + time1.isEqual(time2)); System.err.println("time1>time2:" + time1.isAfter(time2)); System.err.println("time1<time2:" + time1.isBefore(time2)); }
運行效果以下:工具
package com.blog.www.util; import java.time.*; import java.time.format.DateTimeFormatter; import java.util.Date; /** * 基於java8封裝的時間處理工具類 * <p> * 建立人:leigq <br> * 建立時間:2018-11-07 09:21 <br> * <p> * 修改人: <br> * 修改時間: <br> * 修改備註: <br> * </p> */ public class DateUtil { private static final String HYPHEN = "-"; private static final String COLON = ":"; /*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 時間格式 DateTimeFormatter (Java8) ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/ enum FormatEnum { /** * 返回 DateTimeFormatter "yyyy-MM-dd HH:mm:ss" 時間格式 */ FORMAT_DATA_TIME(DateTimeFormatter.ofPattern(DATE_TIME_FORMAT)), /** * 返回 DateTimeFormatter "yyyyMMddHHmmss"的時間格式 */ FORMAT_DATA_TIME_NO_SYMBOL(DateTimeFormatter.ofPattern(DATETIME_FORMAT)), /** * 返回 DateTimeFormatter "yyyy-MM-dd"的時間格式 */ FORMAT_DATE(DateTimeFormatter.ofPattern(DATE_FORMAT)), /** * 返回 DateTimeFormatter "HH:mm:ss"的時間格式 */ FORMAT_TIME(DateTimeFormatter.ofPattern(TIME_FORMAT)); private DateTimeFormatter value; FormatEnum(DateTimeFormatter format) { this.value = format; } } /*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 時間格式 DateTimeFormatter (Java8) ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/ /*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 時間格式 字符串 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/ /** * 年的時間格式 * <br/> * 返回 "yyyy" 字符串 */ public static final String YEAR_FORMAT = "yyyy"; /** * 月的時間格式 * <br/> * 返回 "MM" 字符串 */ public static final String MONTH_FORMAT = "MM"; /** * 日的時間格式 * <br/> * 返回 "dd" 字符串 */ public static final String DAY_FORMAT = "dd"; /** * 時的時間格式 * <br/> * 返回 "HH" 字符串 */ public static final String HOUR_FORMAT = "HH"; /** * 分的時間格式 * <br/> * 返回 "mm" 字符串 */ public static final String MINUTE_FORMAT = "mm"; /** * 秒的時間格式 * <br/> * 返回 "ss" 字符串 */ public static final String SECOND_FORMAT = "ss"; /** * <span color='red'>年-月-日</span>的時間格式 * <br/> * 返回 "yyyy-MM-dd" 字符串 */ public static final String DATE_FORMAT = YEAR_FORMAT + HYPHEN + MONTH_FORMAT + HYPHEN + DAY_FORMAT; /** * <span color='red'>時:分:秒</span>的時間格式 * <br/> * 返回 "HH:mm:ss" 字符串 */ public static final String TIME_FORMAT = HOUR_FORMAT + COLON + MINUTE_FORMAT + COLON + SECOND_FORMAT; /** * <span color='red'>年-月-日 時:分:秒</span>的時間格式 * <br/> * 返回 "yyyy-MM-dd HH:mm:ss" 字符串 */ public static final String DATE_TIME_FORMAT = DATE_FORMAT + " " + TIME_FORMAT; /** * <span color='red'>年月日時分秒</span>的時間格式(無符號) * <br/> * 返回 "yyyyMMddHHmmss" 字符串 */ public static final String DATETIME_FORMAT = YEAR_FORMAT + MONTH_FORMAT + DAY_FORMAT + HOUR_FORMAT + MINUTE_FORMAT + SECOND_FORMAT; /*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 時間格式 字符串 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/ /*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 時間戳 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/ /** * 獲取秒級時間戳 */ public static Long epochSecond() { return localDateTime().toEpochSecond(ZoneOffset.of("+8")); } /** * 獲取毫秒級時間戳 */ public static Long epochMilli() { return localDateTime().toInstant(ZoneOffset.of("+8")).toEpochMilli(); } /*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 時間戳 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/ /*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 當前時間相關 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/ /** * 獲取當前詳細時間,like 2018-08-27 17:20:06 */ public static String dateTime() { return localDateTime().format(FormatEnum.FORMAT_DATA_TIME.value); } /** * 獲取當前詳細時間,like 20180827172006 */ public static String dateTimeNoSymbol() { return localDateTime().format(FormatEnum.FORMAT_DATA_TIME_NO_SYMBOL.value); } /** * 獲取當前日期,like 2018-08-27 */ public static String date() { return localDate() + ""; } /** * 獲取當前時間,like 17:20:06 */ public static String time() { return localTime().format(FormatEnum.FORMAT_TIME.value); } /** * 獲取當前年 */ public static Integer year() { return localDate().getYear(); } /** * 獲取當前月 */ public static int month() { return localDate().getMonthValue(); } /** * 獲取當前年中的日 */ public static Integer dayOfYear() { return localDate().getDayOfYear(); } /** * 獲取當前月中的日 */ public static Integer dayOfMonth() { return localDate().getDayOfMonth(); } /** * 獲取當前星期中的日 */ public static Integer dayOfWeek() { return localDate().getDayOfWeek().getValue(); } /** * 獲取當前小時 */ public static Integer hour() { return localTime().getHour(); } /** * 獲取當前分鐘 */ public static Integer minute() { return localTime().getMinute(); } /** * 獲取當前秒 */ public static Integer second() { return localTime().getSecond(); } /*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 當前時間相關 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/ /*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 將來、歷史時間相關 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/ /** * 獲取當前年的 前幾年 的日期 * <p> * * @param years 前幾年 正整數 * @param format 格式 * @return 當前年的 前幾年 的 對應 格式 日期 */ public static String minusYears(Long years, FormatEnum formatEnum) { return minusOrPlusYears(-years, formatEnum); } /** * 獲取當前年的 後幾年 的日期 * <p> * * @param years 後幾年 正整數 * @param format 格式 * @return 當前年的 後幾年 的 對應 格式 日期 */ public static String plusYears(Long years, FormatEnum formatEnum) { return minusOrPlusYears(years, formatEnum); } /** * 獲取當前月的 前幾月 日期 * * @param months 前幾月 正整數 * @param formatEnum 格式 * @return 當前月的 前幾月 的 對應 格式 日期 */ public static String minusMonths(Long months, FormatEnum formatEnum) { return minusOrPlusMonths(-months, formatEnum); } /** * 獲取當前月的 後幾月 的日期 * * @param months 後幾月 正整數 * @param formatEnum 格式 * @return 當前月的 後幾月 的 對應 格式 日期 */ public static String plusMonths(Long months, FormatEnum formatEnum) { return minusOrPlusMonths(months, formatEnum); } /** * 獲取當前日的 前幾日 的日期 * * @param days 前幾日 正整數 * @param formatEnum 格式 * @return 當前日的 前幾日 的 對應 格式 日期 */ public static String minusDays(Long days, FormatEnum formatEnum) { return minusOrPlusDays(-days, formatEnum); } /** * 獲取當前日的 後幾日 的日期 * * @param days 後幾日 正整數 * @param formatEnum 格式 * @return 當前日的 後幾日 的 對應 格式 日期 */ public static String plusDays(Long days, FormatEnum formatEnum) { return minusOrPlusDays(days, formatEnum); } /** * 獲取當前星期的 前幾星期 的日期 * * @param weeks 前幾星期 正整數 * @param formatEnum 格式 * @return 當前星期的 前幾星期 的 對應 格式 日期 */ public static String minusWeeks(Long weeks, FormatEnum formatEnum) { return minusOrPlusWeeks(-weeks, formatEnum); } /** * 獲取當前星期的 後幾星期 的日期 * * @param weeks 後幾星期 正整數 * @param formatEnum 格式 * @return 當前星期的 後幾星期 的 對應 格式 日期 */ public static String plusWeeks(Long weeks, FormatEnum formatEnum) { return minusOrPlusWeeks(weeks, formatEnum); } /** * 獲取當前小時的 前幾小時 的日期 * * @param hours 前幾小時 正整數 * @param formatEnum 格式 * @return 當前小時的 前幾小時 的 對應 格式 日期 */ public static String minusHours(Long hours, FormatEnum formatEnum) { return minusOrPlusHours(-hours, formatEnum); } /** * 獲取當前小時的 後幾小時 的日期 * * @param hours 後幾小時 正整數 * @param formatEnum 格式 * @return 當前小時的 後幾小時 的 對應 格式 日期 */ public static String plusHours(Long hours, FormatEnum formatEnum) { return minusOrPlusHours(hours, formatEnum); } /** * 獲取當前分鐘的 前幾分鐘 的日期 * * @param minutes 前幾分鐘 正整數 * @param formatEnum 格式 * @return 當前分鐘的 前幾分鐘 的 對應 格式 日期 */ public static String minusMinutes(Long minutes, FormatEnum formatEnum) { return minusOrPlusMinutes(-minutes, formatEnum); } /** * 獲取當前分鐘的 後幾分鐘 的日期 * * @param minutes 後幾分鐘 正整數 * @param formatEnum 格式 * @return 當前分鐘的 後幾分鐘 的 對應 格式 日期 */ public static String plusMinutes(Long minutes, FormatEnum formatEnum) { return minusOrPlusMinutes(minutes, formatEnum); } /** * 獲取當前秒的 前幾秒 的日期 * * @param seconds 前幾秒 正整數 * @param formatEnum 格式 * @return 當前秒的 前幾秒 的 對應 格式 日期 */ public static String minusSeconds(Long seconds, FormatEnum formatEnum) { return minusOrPlusSeconds(-seconds, formatEnum); } /** * 獲取當前秒的 前幾秒/後幾秒 的日期 * * @param seconds 後幾秒 正整數 * @param formatEnum 格式 * @return 當前秒的 後幾秒 的 對應 格式 日期 */ public static String plusSeconds(Long seconds, FormatEnum formatEnum) { return minusOrPlusSeconds(seconds, formatEnum); } /*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 將來、歷史時間相關 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/ /*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 時間轉換相關 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/ /** * Date類型轉LocalDateTime * <p> * * @param date date類型時間 * @return LocalDateTime */ public static LocalDateTime toLocalDateTime(Date date) { return LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault()); } /** * Date類型轉LocalDate * <p> * * @param date date類型時間 * @return LocalDate */ public static LocalDate toLocalDate(Date date) { return toLocalDateTime(date).toLocalDate(); } /** * Date類型轉LocalTime * <p> * * @param date date類型時間 * @return LocalTime */ public static LocalTime toLocalTime(Date date) { return toLocalDateTime(date).toLocalTime(); } /** * LocalDateTime 類型轉 Date * * @param localDateTime localDateTime * @return 轉換後的Date類型日期 */ public static Date toDate(LocalDateTime localDateTime) { return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()); } /** * LocalDate類型轉Date * * @param localDate localDate * @return 轉換後的Date類型日期 */ public static Date toDate(LocalDate localDate) { return toDate(localDate.atStartOfDay()); } /** * LocalTime類型轉Date * * @param localTime localTime * @return 轉換後的Date類型日期 */ public static Date toDate(LocalTime localTime) { return toDate(LocalDateTime.of(localDate(), localTime)); } /*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 時間轉換相關 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/ /*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 時間間隔相關 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/ /** * 獲取 endDate-startDate 時間間隔天數 * <br>建立人: leigq * <br>建立時間: 2018-11-07 09:55 * <br> * * @param startDate 開始時間 * @param endDate 結束時間 * @return 時間間隔天數 */ public static Long daysInterval(LocalDate startDate, LocalDate endDate) { return endDate.toEpochDay() - startDate.toEpochDay(); } /** * 獲取 endDate-startDate 時間間隔天數 * <br>建立人: leigq * <br>建立時間: 2018-11-07 09:55 * <br> * * @param startDate 開始時間 * @param endDate 結束時間 * @return 時間間隔天數 */ public static Long daysInterval(String startDate, String endDate) { return daysInterval(LocalDateTime.parse(endDate, FormatEnum.FORMAT_DATA_TIME.value).toLocalDate(), LocalDateTime.parse(startDate, FormatEnum.FORMAT_DATA_TIME.value).toLocalDate()); } /** * 獲取 endDate-startDate 時間間隔天數 * <br>建立人: leigq * <br>建立時間: 2018-11-07 09:55 * <br> * * @param startDate 開始時間 * @param endDate 結束時間 * @return 時間間隔天數 */ public static Long daysInterval(LocalDateTime startDate, LocalDateTime endDate) { return daysInterval(startDate.toLocalDate(), endDate.toLocalDate()); } /*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 時間間隔相關 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/ /*↓↓↓只容許此類調用↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/ /** * 獲取 當前年 的前幾年/後幾年的日期 * <p> * * @param yearsToAddOrSubtract 後幾年傳正整數,前幾年傳負數 * @param formatEnum 格式 * @return 當前年的前幾年/後幾年的對應 格式 日期 */ private static String minusOrPlusYears(Long yearsToAddOrSubtract, FormatEnum formatEnum) { return localDateTime().plusYears(yearsToAddOrSubtract).format(formatEnum.value); } /** * 獲取 當前月 的前幾月/後幾月的日期 * * @param monthsToAddOrSubtract 後幾月傳正整數,前幾月傳負數 * @param formatEnum 格式 * @return 當前月的前幾月/後幾月的對應 格式 日期 */ private static String minusOrPlusMonths(Long monthsToAddOrSubtract, FormatEnum formatEnum) { return localDateTime().plusMonths(monthsToAddOrSubtract).format(formatEnum.value); } /** * 獲取 當前日 的前幾日/後幾日的日期 * * @param daysToAddOrSubtract 後幾日傳正整數,前幾日傳負數 * @param formatEnum 格式 * @return 當前日的前幾日/後幾日的 對應 格式 日期 */ private static String minusOrPlusDays(Long daysToAddOrSubtract, FormatEnum formatEnum) { return localDateTime().plusDays(daysToAddOrSubtract).format(formatEnum.value); } /** * 獲取當前星期的前幾星期/後幾星期的日期 * * @param weeksToAddOrSubtract 後幾星期傳正整數,前幾星期傳負數 * @param formatEnum 格式 * @return 當前星期的前幾星期/後幾星期的 對應 格式 日期 */ private static String minusOrPlusWeeks(Long weeksToAddOrSubtract, FormatEnum formatEnum) { return localDateTime().plusWeeks(weeksToAddOrSubtract).format(formatEnum.value); } /** * 獲取當前小時的前幾小時/後幾小時的日期 * * @param hoursToAddOrSubtract 後幾小時傳正整數,前幾小時傳負數 * @param formatEnum 格式 * @return 當前小時的前幾小時/後幾小時的 對應 格式 日期 */ private static String minusOrPlusHours(Long hoursToAddOrSubtract, FormatEnum formatEnum) { return localDateTime().plusHours(hoursToAddOrSubtract).format(formatEnum.value); } /** * 獲取當前分鐘的前幾分鐘/後幾分鐘的日期 * * @param minutesToAddOrSubtract 後幾分鐘傳正整數,前幾分鐘傳負數 * @param formatEnum 格式 * @return 當前分鐘的前幾分鐘/後幾分鐘的 對應 格式 日期 */ private static String minusOrPlusMinutes(Long minutesToAddOrSubtract, FormatEnum formatEnum) { return localDateTime().plusMinutes(minutesToAddOrSubtract).format(formatEnum.value); } /** * 獲取當前秒的前幾秒/後幾秒的日期 * * @param secondsToAddOrSubtract 後幾秒傳正整數,前幾秒傳負數 * @param formatEnum 格式 * @return 當前秒的前幾秒/後幾秒的 對應 格式 日期 */ private static String minusOrPlusSeconds(Long secondsToAddOrSubtract, FormatEnum formatEnum) { return localDateTime().plusSeconds(secondsToAddOrSubtract).format(formatEnum.value); } /** * 獲取 LocalDate */ private static LocalDate localDate() { return localDateTime().toLocalDate(); } /** * 獲取 LocalTime */ private static LocalTime localTime() { return localDateTime().toLocalTime(); } /** * 獲取 LocalDateTime */ private static LocalDateTime localDateTime() { return LocalDateTime.now(); } }
參考
Java8 時間類的使用 Java 8 中 Date與LocalDateTime、LocalDate、LocalTime互轉測試