Java 的日期與時間入門

Java 的輸入/輸出與串流

Alex Liu

Software Development Engineer

建立日期物件

  • LocalDate 類別
    • 表示不含時間的日期
  • LocalTime 類別
    • 表示不含日期的時間
  • 匯入所需類別
import java.time.LocalDate;
import java.time.LocalTime;
Java 的輸入/輸出與串流

建立日期物件(續)

  • 使用 .now() 取得目前日期與時間
    LocalDate date = LocalDate.now();
    LocalTime time = LocalTime.now();
    System.out.println(date);
    System.out.println(time);
    
  • (注意:時間會依執行程式當下而異)
2025-03-10
12:45:30.123456
Java 的輸入/輸出與串流

在 Java 中格式化日期

  • DateTimeFormatter
    • 定義自訂日期格式
    • 支援多種樣式,如 yyyy-MM-ddMM/dd/yyyy
  • 匯入必要類別
    import java.time.LocalDate;
    import java.time.format.DateTimeFormatter;
    
Java 的輸入/輸出與串流

在 Java 中格式化日期(續)

  • 建立 LocalDate 實例 date
LocalDate date = LocalDate.now(); // 目前格式為:`2025-03-10`
  • 使用 .ofPattern() 以樣式 MM/dd/yyyy 建立 DateTimeFormatter
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy");
  • .format() 套用 DateTimeFormatter
System.out.println(date.format(formatter))
03/10/2025
Java 的輸入/輸出與串流

將字串解析為日期

  • 使用 LocalDate.parse() 將文字轉為日期

    • 確保格式與輸入字串相符
  • yyyy-MM-dd 格式的文字搭配 .parse() 解析為 Date 物件

    LocalDate parsedDate = LocalDate.parse("2024-03-10");
    System.out.println(parsedDate);
    
  • 列印 Date 物件會輸出:

    2024-03-10
    
Java 的輸入/輸出與串流

日期調整操作

  • 使用 .plusDays().minusDays() 調整日期
LocalDate date = LocalDate.now();
// 目前值:
System.out.println(date); 
// 套用 `.plusDays()`,值為 `7`
LocalDate futureDate = date.plusDays(7);
// 調整後的值
System.out.println(futureDate);
2025-03-10
2025-03-17
Java 的輸入/輸出與串流

日期調整操作(續)

  • 套用 .minusDays(),值為 7
    LocalDate pastDate = date.minusDays(7);
    System.out.println(pastDate);
    
  • pastDate 的目前值:
    2025-03-03
    
Java 的輸入/輸出與串流

重點整理

  • LocalDateLocalTime 分別管理日期與時間
    • 注意:時間會依執行程式當下而異
    • .parse() 可將文字轉為日期
    • .now() 取得目前日期/時間
  • DateTimeFormatter 用於格式化與解析日期
    • 可自訂日期格式
    • 支援多種樣式,如 yyyy-MM-ddMM/dd/yyyy
  • .plusDays().minusDays() 進行日期運算
Java 的輸入/輸出與串流

一起來練習吧!

Java 的輸入/輸出與串流

Preparing Video For Download...