Java8中的日期時間類

 測試類:java

import java.time.*;
import java.time.format.DateTimeFormatter;

public class App 
{
    public static void main( String[] args )
    {

        LocalDateTime time = LocalDateTime.now();
        System.out.println(time.toString()); //輸出日期時間:2019-05-04T18:27:55.240
        System.out.println(time.toLocalDate());  //輸出日期:2019-05-04
        System.out.println(time.toLocalTime());  //輸出時間:18:27:55.240
        System.out.println(time.getDayOfMonth()); //輸出當前日期月份的第幾天:4
        System.out.println(time.getDayOfWeek()); //輸出檔期日期周幾:SATURDAY
        System.out.println(time.getDayOfYear()); //當前日期在該年屬於第幾天:124
        System.out.println(time.getHour());  //輸出:18
        System.out.println(time.getMinute()); //輸出:27
        System.out.println(time.getSecond()); //輸出:55
        System.out.println(time.getMonthValue()); //輸出:5
        System.out.println(time.getMonth());  //輸出:MAY
        System.out.println("==============================================");

        //格式化輸出:
        DateTimeFormatter format = DateTimeFormatter.ofPattern("YYYY-MM-dd HH:mm:ss");
        System.out.println(time.format(format));  //輸出:2019-05-04 18:27:55

        //構造時間
        LocalDateTime startTime = LocalDateTime.of(2019,05,04,17,59);
        System.out.println(startTime.format(format));  //輸出:2019-05-04 17:59:00
        LocalDateTime endTime = LocalDateTime.of(LocalDate.now(), LocalTime.of(0,0,0));
        System.out.println(endTime.format(format));  //輸出:2019-05-04 00:00:00

        //時間比較
        System.out.println(time.isAfter(startTime));  //輸出:true
        System.out.println(time.isBefore(endTime));  //輸出:false

        //時間運算
        System.out.println(time.plusDays(-1).format(format)); //輸出:2019-05-03 18:27:55
        System.out.println(time.plusDays(1).format(format));  //輸出:2019-05-05 18:27:55
        System.out.println(time.plusMonths(-1).format(format));  //輸出:2019-04-04 18:27:55
        System.out.println(time.plusMonths(1).format(format));  //輸出:2019-06-04 18:27:55
        System.out.println(time.getHour());  //輸出:18
        System.out.println(time.withHour(1).format(format));  //輸出:2019-05-04 01:27:55


        //獲取毫秒數時間戳
        long milliSec = time.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
        System.out.println(milliSec);  //輸出:1556965675240
        //獲取秒數時間戳
        long sec = time.atZone(ZoneId.systemDefault()).toInstant().getEpochSecond();
        System.out.println(sec);  //輸出:1556965675
        //時間戳轉換爲時間
        LocalDateTime time2 =LocalDateTime.ofInstant(Instant.ofEpochMilli(milliSec),ZoneId.systemDefault());
        System.out.println(time2.format(format));  //輸出:2019-05-04 18:27:55
        LocalDateTime time3 = LocalDateTime.ofInstant(Instant.ofEpochSecond(sec),ZoneId.systemDefault());
        System.out.println(time3.format(format));  //輸出:2019-05-04 18:27:55

    }
}

 

輸出結果:測試

2019-05-04T18:27:55.240
2019-05-04
18:27:55.240
4
SATURDAY
124
18
27
55
5
MAY
==============================================
2019-05-04 18:27:55
2019-05-04 17:59:00
2019-05-04 00:00:00
true
false
2019-05-03 18:27:55
2019-05-05 18:27:55
2019-04-04 18:27:55
2019-06-04 18:27:55
18
2019-05-04 01:27:55
1556965675240
1556965675
2019-05-04 18:27:55
2019-05-04 18:27:55
相關文章
相關標籤/搜索