เนื้อหา
มีหลายวิธีในการเปรียบเทียบวันที่โดยใช้ Java ภายในภาษาจะแสดงวันที่เป็นจุดในเวลาโดยใช้ตัวแปร ยาว. ประกอบด้วยจำนวนมิลลิวินาทีที่ผ่านไปนับตั้งแต่วันแรกของเดือนมกราคม 1970 ใน Java มีคลาสนี้ ให้คุณ (ข้อมูล) ซึ่งมีหลายวิธีที่ช่วยในการเปรียบเทียบ วิธีการเปรียบเทียบใด ๆ โดยทั่วไปจะเปรียบเทียบเวลาที่บันทึกไว้ในวัตถุวันที่สองชิ้น
ขั้นตอน
วิธีที่ 1 จาก 4: การใช้ไฟล์ เปรียบเทียบกับ
- ใช้วิธีการ CompareTo คลาส Date ใช้อินเทอร์เฟซที่เปรียบเทียบได้
ดังนั้นจึงสามารถเปรียบเทียบวันที่สองวันได้โดยใช้วิธีการ CompareTo หากวันที่เหมือนกันเมธอดจะคืนค่าศูนย์ ถ้าวันที่ที่กำลังเปรียบเทียบอยู่ก่อนหน้าวันที่ที่ส่งผ่านเป็นอาร์กิวเมนต์จะส่งคืนค่าที่น้อยกว่าศูนย์ หากสิ่งที่ตรงกันข้ามเกิดขึ้นค่าที่ส่งคืนจะมากกว่าศูนย์ -
สร้างวัตถุวันที่ คุณจะต้องสร้างวัตถุสำหรับแต่ละวันก่อนที่จะเปรียบเทียบ วิธีหนึ่งที่ทำได้คือใช้คลาส SimpleDateFormat. ช่วยให้คุณเปลี่ยนวันที่เป็นวัตถุวันที่ได้อย่างง่ายดาย - เปรียบเทียบวัตถุวันที่ โค้ดด้านล่างนี้จะแสดงให้เห็นถึงแต่ละกรณีโดยมีการส่งวันที่เท่ากันวันที่เล็กน้อยและวันสำคัญเป็นอาร์กิวเมนต์
วิธีที่ 2 จาก 4: การใช้ไฟล์ เท่ากับ, หลังจาก มันเป็น ก่อน
-
ใช้วิธีการเท่ากับหลังและก่อน (เท่ากับหลังและก่อนหน้าตามลำดับ) คุณสามารถใช้วิธีการเหล่านี้เพื่อช่วยเปรียบเทียบวันที่ หากวันที่สองวันอ้างถึงจุดเดียวกันในเวลาเมธอดเท่ากับจะคืนค่าจริงตัวอย่างด้านล่างนี้จะใช้วันที่ที่เราสร้างไว้แล้วเมื่อเราสาธิตวิธีการ CompareTo - การเปรียบเทียบโดยใช้วิธีก่อน โค้ดด้านล่างแสดงกรณีที่ส่งคืนค่าจริงและโค้ดที่ส่งกลับเท็จ ถ้า date1 อยู่ก่อนหน้า date2 ก่อนจะคืนค่าเป็นจริง มิฉะนั้นจะส่งกลับเท็จ
-
เปรียบเทียบโดยใช้วิธี after โค้ดด้านล่างแสดงกรณีที่ส่งคืนค่าจริงและโค้ดที่ส่งกลับเท็จ ถ้า date2 ช้ากว่า date1 จะส่งคืนจริง มิฉะนั้นจะส่งกลับเท็จ - เปรียบเทียบโดยใช้วิธีการเท่ากับ โค้ดด้านล่างแสดงกรณีที่ส่งคืนค่าจริงและโค้ดที่ส่งกลับเท็จ หากวันที่เหมือนกันเมธอดเท่ากับจะคืนค่าจริง มิฉะนั้นจะส่งกลับเท็จ
วิธีที่ 3 จาก 4: การใช้คลาสปฏิทิน
- ใช้ปฏิทิน คลาสปฏิทินยังมีวิธีการ CompareTo เท่ากับหลังและก่อนและทำงานในลักษณะเดียวกับที่อธิบายไว้ข้างต้นในคลาสวันที่ เนื่องจากข้อมูลของวันที่ถูกบันทึกไว้ในปฏิทินจึงไม่จำเป็นต้องแยกวันที่เพื่อทำการเปรียบเทียบ
- สร้างอินสแตนซ์ของวัตถุปฏิทิน ในการใช้เมธอดของคลาสปฏิทินจำเป็นต้องสร้างอินสแตนซ์ออบเจ็กต์ของคลาสนี้ ข่าวดีก็คือคุณสามารถแยกวันที่จากอินสแตนซ์ Date ที่สร้างไว้ก่อนหน้านี้ได้
- เปรียบเทียบ cal1 และ cal2 โดยใช้ก่อนหน้านี้ โค้ดด้านล่างควรคืนค่าเป็นจริงเนื่องจาก cal1 อยู่ก่อนหน้า cal2
- เปรียบเทียบ cal1 และ cal2 โดยใช้ after โค้ดด้านล่างควรส่งคืนเท็จเนื่องจาก cal2 อยู่ก่อนหน้า cal1
- เปรียบเทียบ cal1 และ cal2 โดยใช้เท่ากับ โค้ดด้านล่างแสดงตัวอย่างกรณีจริงและกรณีเท็จ สิ่งที่กำหนดคำตอบคือสองอินสแตนซ์ของคลาสปฏิทินที่ใช้ในการเปรียบเทียบ โค้ดควรส่งคืน "true" และ "false" ในบรรทัดถัดไป
วิธีที่ 4 จาก 4: การใช้ไฟล์ getTime
- คุณยังสามารถใช้ getTime เพื่อเปรียบเทียบเวลาของวันที่สองวันได้ อย่างไรก็ตามแนวทางที่เราแสดงก่อนหน้านี้นั้นง่ายกว่าดังนั้นโปรดให้ความสำคัญกับพวกเขา นี่จะเป็นการเปรียบเทียบประเภทข้อมูลดั้งเดิมสองประเภทใน java ดังนั้นจึงสามารถทำได้โดยใช้ตัวดำเนินการ "<", ">" และ "=="
- การสร้างวัตถุขนาดยาวเพื่อแสดงเวลา ก่อนที่จะเปรียบเทียบวันที่ให้สร้างจำนวนเต็มแบบยาวและกำหนดอ็อบเจกต์ Date ที่เราสร้างไว้ก่อนหน้านี้ โชคดีที่เมธอด getTime () จะทำงานทั้งหมดให้คุณ
- ทำการเปรียบเทียบแบบ "น้อยกว่า" โดยใช้สัญลักษณ์“ <” เมื่อเปรียบเทียบจำนวนเต็มสองจำนวน เนื่องจาก time1 น้อยกว่า time2 จึงควรแสดงข้อความแรก เดอะ อื่น รวมไว้ด้วยเหตุผลทางไวยากรณ์เท่านั้น
- ทำการเปรียบเทียบแบบ "มากกว่า" ในการทำเช่นนี้ให้ใช้สัญลักษณ์“>” เมื่อเปรียบเทียบจำนวนเต็มทั้งสอง เนื่องจาก time1 มากกว่า time2 ข้อความแรกควรปรากฏบนหน้าจอ เดอะ อื่น รวมไว้ด้วยเหตุผลทางไวยากรณ์เท่านั้น
- ทำการทดสอบความเท่าเทียมกัน ใช้สัญลักษณ์“ ==” เพื่อทดสอบความเท่าเทียมกันเมื่อเปรียบเทียบจำนวนเต็มสองจำนวน เนื่องจาก time1 เท่ากับ time3 ข้อความแรกควรปรากฏบนหน้าจอ หากโปรแกรมไปถึงที่อื่นแสดงว่าวันที่ไม่เหมือนกัน