John Squirrels
ระดับ
San Francisco

คลาส Java LocalDate

เผยแพร่ในกลุ่ม
คลาส Java LocalDateไม่สามารถเปลี่ยนรูปแบบได้ ซึ่งหมายความว่าเมื่อสร้างอินสแตนซ์แล้ว คุณจะไม่สามารถแก้ไขได้ LocalDateมีวิธีการที่เป็นประโยชน์มากมายในการจัดการและสืบค้นวันที่ เช่น การเพิ่มหรือการลบวัน เดือน หรือปี การรับวันในสัปดาห์ หรือการตรวจสอบว่าวันที่อยู่ก่อนหรือหลังวันที่อื่น

ตัวอย่าง LocalDate

เริ่มต้นด้วยตัวอย่างง่ายๆ ที่สร้าง อินสแตนซ์ LocalDateสำหรับวันที่ปัจจุบันและพิมพ์ลงในคอนโซล:

import java.time.LocalDate;

public class LocalDateExample {
    public static void main(String[] args) {
        LocalDate today = LocalDate.now();
        System.out.println("Today's date: " + today);
    }
}
ในตัวอย่างนี้ เรานำเข้า คลาส LocalDateจาก แพ็กเกจ java.timeและสร้างอินสแตนซ์ใหม่ของLocalDateที่เรียกว่าtoday โดยใช้ เมธอดstatic now() วิธีการนี้ส่งคืน วัตถุ LocalDateที่แสดงวันที่ปัจจุบันโดยยึดตามนาฬิกาของระบบในเขตเวลาเริ่มต้น จากนั้นเราพิมพ์วันที่ปัจจุบันไปยังคอนโซลโดยใช้ เมธอด println()ของอ็อบเจ็กต์System.out ผลลัพธ์จะมีลักษณะดังนี้:

เอาท์พุต

วันที่วันนี้: 2023-05-01

ตัวสร้าง LocalDate

นอกจากเมธอดnow() แล้ว LocalDateยังมีตัวสร้างอื่นๆ อีกหลายตัวที่ช่วยให้คุณสามารถสร้าง อินสแตนซ์ LocalDateจากแหล่งต่างๆ ได้ ตัวอย่างเช่น คุณสามารถสร้างLocalDateจากปี เดือน และวันที่ระบุได้:

import java.time.LocalDate;

public class LocalDateConstructorExample {
    public static void main(String[] args) {
        LocalDate date1 = LocalDate.of(2023, 5, 1);

        System.out.println("Date 1: " + date1);
    }
}
โค้ดนี้สร้างอินสแตนซ์ LocalDate ใหม่ชื่อdate1โดยมีปี 2023 เดือนพฤษภาคม (แสดงด้วยค่า 5) และวันที่ 1 ผลลัพธ์จะเป็น:

เอาท์พุต

วันที่ 1: 2023-05-01

การจัดการวันที่ท้องถิ่น

หนึ่งในคุณสมบัติที่มีประโยชน์ที่สุดของLocalDateคือความสามารถในการจัดการวันที่ ตัวอย่างเช่น คุณสามารถเพิ่มหรือลบวัน เดือน หรือปีโดยใช้ วิธี บวกและลบ :

import java.time.LocalDate;

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

        LocalDate date3 = LocalDate.parse("2023-05-01");
        LocalDate date4 = date3.plusDays(1);
        LocalDate date5 = date3.minusMonths(1);
        LocalDate date6 = date3.plusYears(1);

        System.out.println("Date 3: " + date3);
        System.out.println("Date 4: " + date4);
        System.out.println("Date 5: " + date5);
        System.out.println("Date 6: " + date6);
   }
}
ในตัวอย่างนี้ ก่อนอื่นเราจะสร้าง อินสแตนซ์ LocalDate ใหม่ ชื่อdate3โดยการแยกวิเคราะห์สตริง "2023-05-01" จากนั้นเราสร้างอินสแตนซ์ LocalDateใหม่สามอินสแตนซ์ที่เรียกว่าdate4 , date5และdate6โดยการเพิ่มหรือลบวัน เดือน หรือปีจากdate3 ผลลัพธ์จะเป็น:
วันที่ 3: 05-01-2023 วันที่ 4: 05-02-2023 วันที่ 5: 04-01-2023 วันที่ 6: 05-01-2024

การเปรียบเทียบ LocalDates

LocalDateยังมีวิธีการเปรียบเทียบวันที่อีกด้วย คุณสามารถตรวจสอบว่าอินสแตนซ์ LocalDate สอง รายการเท่ากันหรือไม่ หรืออินสแตนซ์หนึ่งอยู่ก่อนหรือหลังอินสแตนซ์อื่นโดยใช้เมธอด เท่ากับ() , isBefore()และisAfter()

import java.time.LocalDate;

public class LocalDateCompareExample {
    public static void main(String[] args) {
        LocalDate date1 = LocalDate.parse("2023-05-01");
        LocalDate date2 = LocalDate.parse("2023-05-02");

        System.out.println("Are the dates equal? " + date1.equals(date2));
        System.out.println("Is date1 before date2? " + date1.isBefore(date2));
        System.out.println("Is date2 after date1? " + date2.isAfter(date1));
    }
}
ในตัวอย่างนี้ เราสร้าง อินสแตนซ์ LocalDate สอง อินสแตนซ์ที่เรียกว่าdate1และdate2จากนั้นใช้เมธอดเท่ากับ() , isBefore()และisAfter()เพื่อเปรียบเทียบ ผลลัพธ์จะอยู่ในรูปแบบบูลีน เช่นtrueหรือfalse :
วันที่เท่ากันหรือไม่? เท็จ คือ date1 ก่อน date2 หรือไม่ จริงคือ date2 หลังจาก date1 หรือไม่ จริง

LocalDateTime

หากคุณต้องการแสดงวันที่และเวลา คุณสามารถใช้ คลาส LocalDateTimeซึ่งคล้ายกับLocalDateแต่มีส่วนประกอบของเวลา LocalDateTimeมีวิธีการในการจัดการและสืบค้นทั้งส่วนของวันที่และเวลา นี่คือตัวอย่างการสร้าง อินสแตนซ์ LocalDateTime :

import java.time.LocalDateTime;

public class LocalDateTimeExample {
    public static void main(String[] args) {
        LocalDateTime datetime = LocalDateTime.now();
        System.out.println("Current date and time: " + datetime);
    }
}
รหัสนี้จะนำเข้า คลาส LocalDateTimeและสร้างอินสแตนซ์ใหม่ที่เรียกว่าdatetimeโดยใช้เมธอดnow() ผลลัพธ์จะมีลักษณะดังนี้:
วันที่และเวลาปัจจุบัน: 2023-05-01T15:30:00.123456789
หมายเหตุ: 'T' ในเอาต์พุตย่อมาจากการเริ่มการประทับเวลา

บทสรุป

คลาส Java LocalDateมีประโยชน์สำหรับการทำงานกับวันที่ใน Java มีวิธีการมากมายในการจัดการและสืบค้นวันที่ ทำให้ง่ายต่อการเพิ่มหรือลบวัน เดือน หรือปี ตรวจสอบว่าวันที่อยู่ก่อนหรือหลังวันที่อื่น และอื่นๆ อีกมากมาย หากคุณต้องการทำงานร่วมกับวันที่และเวลาร่วมกัน คุณสามารถใช้ คลาส LocalDateTimeแทนได้ รู้สึกอิสระที่จะทดลองกับคลาสนี้และแบ่งปันผลลัพธ์ของคุณกับเรา! กลับมาที่โพสต์นี้ทุกครั้งที่คุณรู้สึกติดขัด ขอให้มีความสุขในการเขียนโค้ด!
ความคิดเห็น
  • เป็นที่นิยม
  • ใหม่
  • เก่า
คุณต้องลงชื่อเข้าใช้เพื่อแสดงความคิดเห็น
หน้านี้ยังไม่มีความคิดเห็นใด ๆ