天天看點

JDK1.8新特性LocalDate和DateTimeFormatter時間轉化

前言:

NewDate和SimpleDateFormat線程不安全,之前一直用的是第三方的joda-time,date4j解決線程安全問題,現在jdk1.8新特性中LocalDate解決了線程安全的問題。

測試資料如下:

輸入:

// 擷取目前的日期

        LocalDateTime currentTime = LocalDateTime.now();

        LocalDate localDate = LocalDate.now();

        LocalTime localTime = LocalTime.now();

//時間轉換

        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

//推遲目前時間方法

        LocalDateTime date_test1 = currentTime.plusDays(1);

        LocalDateTime date_test2 = currentTime.plusHours(2);

        LocalDateTime date_test3 = currentTime.plusMinutes(3);

        LocalDateTime date_test4 = currentTime.plusMonths(4);

        LocalDateTime date_test5 = currentTime.plusYears(5);

        LocalDateTime date_test6 = currentTime.plusWeeks(1);

輸出方法:

 //目前時間輸出

        System.out.println("目前年月日---" + localDate);

        System.out.println("目前時分秒毫秒----: " + localTime);    

        System.out.println("目前時間年月日時分秒----" + currentTime);//需要轉換 用jdk1.8 DataTimeFormatter

//推遲時間輸出

        System.out.println("date_test1   推遲 天:"+date_test1.format(formatter));

        System.out.println("date_test2  推遲小時:"+date_test2.format(formatter));

        System.out.println("date_test3  推遲分鐘:"+date_test3.format(formatter));

        System.out.println("date_test4 推遲 月:"+date_test4.format(formatter));

        System.out.println("date_test4  推遲年:"+date_test5.format(formatter));

        System.out.println("date_test4 推遲周:"+date_test6.format(formatter));

時間轉換代碼;

@Test

    public void test2() {

        // 擷取目前的日期時間

                LocalDateTime currentTime = LocalDateTime.now();

                DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

                System.out.println("目前時間轉換"+ currentTime .format(formatter));

    } 

代碼小農:大神勿噴,如有錯誤請指出,謝謝支援!!