0Pricing
Java Academy · บทเรียน

LocalDate, LocalTime, LocalDateTime

แทนวันที่และเวลา

LocalDate, LocalTime, LocalDateTime เป็นบทเรียน Java Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Java Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Java Academy มีบทเรียนทั้งหมด 4 บทเรียน

ชุดคำสั่งวันที่สมัยใหม่

ตั้งแต่ Java 8 เป็นต้นมา แพ็กเกจ java.time ได้เข้ามาแทนที่คลาสเก่าที่ทำให้เกิดข้อผิดพลาดได้ง่ายอย่าง Date และ Calendar ชนิดข้อมูลหลัก ได้แก่ LocalDate, LocalTime และ LocalDateTime

ทั้งหมดเป็นออบเจ็กต์ที่ไม่เปลี่ยนรูปและปลอดภัยต่อการใช้งานหลายเธรด

LocalDate

LocalDate ใช้แทนวันที่ที่ไม่มีส่วนเวลา ประกอบด้วยปี เดือน และวัน LocalDate.now() ให้วันที่ปัจจุบัน แต่การทดสอบควรใช้วันที่ตายตัวเพื่อให้ผลลัพธ์คาดเดาได้

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2026, 5, 30);
        System.out.println(date);
    }
}

การอ่านส่วนประกอบของวันที่

คุณสามารถดึงส่วนประกอบแต่ละส่วนออกมาได้ด้วย getYear, getMonthValue, getDayOfMonth และ getDayOfWeek ที่มีประโยชน์

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2026, 5, 30);
        System.out.println(date.getYear());
        System.out.println(date.getMonthValue());
        System.out.println(date.getDayOfWeek());
    }
}

LocalTime

LocalTime ใช้แทนเวลาของวันโดยไม่มีวันที่ ได้แก่ ชั่วโมง นาที วินาที และนาโนวินาที

import java.time.LocalTime;

public class Main {
    public static void main(String[] args) {
        LocalTime time = LocalTime.of(14, 30, 15);
        System.out.println(time);
        System.out.println(time.getHour());
    }
}

LocalDateTime

LocalDateTime รวมวันที่และเวลาไว้เป็นค่าเดียวกัน โดยยังไม่มีเขตเวลาผูกอยู่

import java.time.LocalDateTime;

public class Main {
    public static void main(String[] args) {
        LocalDateTime dt = LocalDateTime.of(2026, 5, 30, 9, 45);
        System.out.println(dt);
    }
}

การรวมวันที่กับเวลา

คุณสามารถรวม LocalDate กับ LocalTime โดยใช้ atTime เพื่อสร้าง LocalDateTime ได้

import java.time.LocalDate;
import java.time.LocalTime;
import java.time.LocalDateTime;

public class Main {
    public static void main(String[] args) {
        LocalDate d = LocalDate.of(2026, 5, 30);
        LocalTime t = LocalTime.of(8, 0);
        LocalDateTime dt = d.atTime(t);
        System.out.println(dt);
    }
}

ความไม่เปลี่ยนแปลงและ with

ชนิดข้อมูลเหล่านี้ไม่สามารถเปลี่ยนแปลงได้ เมธอดอย่าง withYear จะส่งคืนสำเนาใหม่ที่แก้ไขแล้ว โดยไม่เปลี่ยนแปลงค่าเดิม

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate original = LocalDate.of(2026, 5, 30);
        LocalDate changed = original.withYear(2030);
        System.out.println(original);
        System.out.println(changed);
    }
}

การเปรียบเทียบวันที่

ใช้ isBefore, isAfter และ isEqual เพื่อเปรียบเทียบลำดับตามเวลาได้อย่างอ่านเข้าใจง่าย

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate a = LocalDate.of(2026, 1, 1);
        LocalDate b = LocalDate.of(2026, 12, 31);
        System.out.println(a.isBefore(b));
        System.out.println(a.isAfter(b));
    }
}

การตรวจสอบที่มีประโยชน์

เมธอดอำนวยความสะดวกช่วยตอบคำถามที่พบบ่อย เช่น isLeapYear และ lengthOfMonth

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2024, 2, 1);
        System.out.println(date.isLeapYear());
        System.out.println(date.lengthOfMonth());
    }
}

การแปลงข้อความเป็นค่า

แต่ละชนิดข้อมูลสามารถแปลงสตริงที่อยู่ในรูปแบบ ISO ได้ LocalDate.parse อ่านค่าอย่าง 2026-05-30 ได้

import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate date = LocalDate.parse("2026-05-30");
        System.out.println(date.getMonth());
    }
}

การเลือกชนิดข้อมูลที่เหมาะสม

ใช้ LocalDate สำหรับวันเกิดและวันที่ในปฏิทิน ใช้ LocalTime สำหรับเวลาเปิดทำการ และใช้ LocalDateTime สำหรับนัดหมายที่ประกอบด้วยวันที่และเวลา ทั้งสามชนิดไม่มีเขตเวลาอยู่ภายใน

ตรวจสอบความเข้าใจ

ทดสอบความเข้าใจเกี่ยวกับชนิดข้อมูลวันที่และเวลาพื้นฐาน

สรุปทบทวน

คุณได้เรียนรู้ชนิดข้อมูลพื้นฐานใน java.time ดังนี้

  • LocalDate สำหรับวันที่ LocalTime สำหรับเวลา และ LocalDateTime สำหรับทั้งวันที่และเวลา
  • ทุกชนิดไม่สามารถเปลี่ยนแปลงได้ เมธอด with จะส่งคืนสำเนาใหม่
  • อ่านส่วนต่าง ๆ ได้ด้วย getYear, getDayOfWeek และเมธอดอ่านค่าอื่น ๆ ที่คล้ายกัน
  • เปรียบเทียบได้ด้วย isBefore และ isAfter
  • แปลงสตริง ISO ได้ด้วย parse

คำถามที่พบบ่อย

บทเรียน “LocalDate, LocalTime, LocalDateTime” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “LocalDate, LocalTime, LocalDateTime” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Java Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Java Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “LocalDate, LocalTime, LocalDateTime”

แทนวันที่และเวลา คุณปฏิบัติ Java Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Java Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Java Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “LocalDate, LocalTime, LocalDateTime” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Java Academy นี้ได้ไหม

ได้ บทเรียน Java Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. LocalDate, LocalTime, LocalDateTime
  2. Instant และ Duration
  3. Period และการคำนวณวันที่
  4. การจัดรูปแบบด้วย DateTimeFormatter
← กลับไปที่ Java Academy