บทนำสู่วันที่และเวลาใน Java

Input/Output และ Streams ใน Java

Alex Liu

Software Development Engineer

การสร้างออบเจกต์วันที่

  • คลาส LocalDate
    • แทนวันที่โดยไม่มีเวลา
  • คลาส LocalTime
    • แทนเวลาโดยไม่มีวันที่
  • นำเข้าคลาสที่จำเป็น
import java.time.LocalDate;
import java.time.LocalTime;
Input/Output และ Streams ใน 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
Input/Output และ Streams ใน Java

การจัดรูปแบบวันที่ใน Java

  • DateTimeFormatter
    • กำหนดรูปแบบวันที่แบบกำหนดเอง
    • รองรับหลายรูปแบบ เช่น yyyy-MM-dd, MM/dd/yyyy
  • นำเข้าคลาสที่จำเป็น
    import java.time.LocalDate;
    import java.time.format.DateTimeFormatter;
    
Input/Output และ Streams ใน Java

การจัดรูปแบบวันที่ใน Java (ต่อ)

  • สร้าง instance ของ LocalDate ชื่อ date
LocalDate date = LocalDate.now(); // Current format we have will be: `2025-03-10`
  • สร้าง DateTimeFormatter ด้วยรูปแบบ MM/dd/yyyy โดยใช้ .ofPattern()
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy");
  • นำ DateTimeFormatter ไปใช้ด้วยเมธอด .format()
System.out.println(date.format(formatter))
03/10/2025
Input/Output และ Streams ใน Java

การแปลงสตริงเป็นวันที่

  • ใช้ LocalDate.parse() เพื่อแปลงข้อความเป็นวันที่

    • ตรวจสอบให้รูปแบบตรงกับสตริงที่ป้อน
  • ใช้ .parse() กับข้อความในรูปแบบ yyyy-MM-dd เพื่อแปลงเป็นออบเจกต์ Date

    LocalDate parsedDate = LocalDate.parse("2024-03-10");
    System.out.println(parsedDate);
    
  • การแสดงผลออบเจกต์ Date จะได้:

    2024-03-10
    
Input/Output และ Streams ใน Java

การปรับค่าวันที่

  • ใช้ .plusDays() และ .minusDays() เพื่อปรับค่าวันที่
LocalDate date = LocalDate.now();
// Current value:
System.out.println(date); 
// Apply `.plusDays()` with value `7`
LocalDate futureDate = date.plusDays(7);
// Value after adjustment
System.out.println(futureDate);
2025-03-10
2025-03-17
Input/Output และ Streams ใน Java

การปรับค่าวันที่ (ต่อ)

  • ใช้ .minusDays() กับค่า 7
    LocalDate pastDate = date.minusDays(7);
    System.out.println(pastDate);
    
  • ค่าปัจจุบันของ pastDate:
    2025-03-03
    
Input/Output และ Streams ใน Java

สรุป

  • LocalDate และ LocalTime จัดการวันที่และเวลาแยกกัน
    • หมายเหตุ: เวลาจะแตกต่างกันตามช่วงเวลาที่รันโปรแกรม
    • .parse() แปลงข้อความเป็นวันที่
    • .now() ดึงวันที่/เวลาปัจจุบัน
  • DateTimeFormatter ใช้จัดรูปแบบและแปลงค่าวันที่
    • กำหนดรูปแบบวันที่แบบกำหนดเอง
    • รองรับหลายรูปแบบ เช่น yyyy-MM-dd, MM/dd/yyyy
  • คำนวณวันที่ด้วย .plusDays() และ .minusDays()`
Input/Output และ Streams ใน Java

มาฝึกกันเถอะ!

Input/Output และ Streams ใน Java

Preparing Video For Download...