JDK8時間工具類


JDK8添加了java.time包,提供了很多方便。
用得比較多的幾個類:
Instant 在時間線上模擬單個瞬時點
Duration 以秒和納秒為單位模擬一個數量或時間量。可以使用其他基於持續時間的單位訪問它,例如分鍾和小時
LocalDate 表示ISO-8601日歷系統中沒有時區的日期,例如 2019-03-31
LocalTime 表示ISO-8601日歷系統中沒有時區的時間,例如 16:50:30
LocalDateTime 表示ISO-8601日歷系統中沒有時區的日期時間,例如
2019-03-31T10:15:30
其中一些方法使用如下:
public static void main(String[] args) {
        //2019-03-31
        LocalDate localDate = LocalDate.now();
        System.out.println(localDate);
        // 15:56:36.232
        LocalTime localTime = LocalTime.now();
        System.out.println(localTime);
        // 2019-03-31T15:56:36.233
        LocalDateTime localDateTime = LocalDateTime.now();
        System.out.println(localDateTime);
        // 2019-03-31T07:56:36.233Z
        Instant instant = Instant.now();
        System.out.println(instant);
        // 獲取當前的時間戳(毫秒)
        long instantMilli = instant.toEpochMilli();
        System.out.println(instantMilli);
        // 一個小時后的時間=加了一個小時時間
        Instant plus1Hours = instant.plus(1, ChronoUnit.HOURS);
        // 計算兩個時間之間的時間量
        long until = instant.until(plus1Hours, ChronoUnit.SECONDS);
        System.out.println(until);
        // 一個小時前的時間=減了一個小時
        Instant minus1Hours = instant.minus(1, ChronoUnit.HOURS);
        System.out.println(minus1Hours);
        // Instant轉換成java.util.Date類型
        Date date = Date.from(instant);
        System.out.println(date);
        // java.util.Date轉換成Instant類型
        Instant dateInstant = date.toInstant();
        System.out.println(dateInstant);
        // 當天開始時間
        LocalDateTime start = LocalDateTime.of(localDate, LocalTime.MIN);
        // 當天結束時間
        LocalDateTime end = LocalDateTime.of(localDate, LocalTime.MAX);
        System.out.println(start);
        System.out.println(end);
        // 計算兩個時間之間的時間量度
        Duration duration = Duration.between(start, end);
        System.out.println(duration.toDays());
        System.out.println(duration.toHours());
        System.out.println(duration.toMinutes());
        System.out.println(duration.toMillis());
        System.out.println(duration.getSeconds());
        // 格式化初始指定時間
        System.out.println(LocalDateTime.parse("2019-03-01 11:10:12", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
    }

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM