เปรียบเทียบสองวันที่

TypeScript:
เปรียบเทียบสองวันที่

วิธีทำ:

ลองเปรียบเทียบวันที่กัน:

const date1 = new Date('2023-04-01T00:00:00Z');
const date2 = new Date('2023-04-02T00:00:00Z');

// date1 อยู่ก่อน date2 หรือไม่?
console.log(date1 < date2); // true

// date1 เหมือนกับ date2 หรือไม่?
console.log(date1.getTime() === date2.getTime()); // false

// ห่างกันกี่วัน?
const diffTime = Math.abs(date2.getTime() - date1.getTime());
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24)); 
console.log(diffDays); // 1

ผลลัพธ์ตัวอย่าง:

true
false
1

ลึกซึ้ง

กลับไปในอดีต, วันที่มีหลายรูปแบบและการคำนวณที่ซับซ้อน. ด้วย JavaScript (และ TypeScript โดยการขยาย), วัตถุ Date ได้ทำให้สิ่งต่าง ๆ ง่ายขึ้น, ทำให้การจัดการเวลามีมาตรฐาน

มีทางเลือกอื่นหรือ? แน่นอน. ไลบรารีเช่น moment.js หรือ date-fns เพิ่มฟังก์ชันนาลิตี้ให้กับการจัดการวันที่ด้วยความสามารถเพิ่มเติม. แต่สำหรับการเปรียบเทียบพื้นฐาน? ความเรียบง่ายของ Date แบบเนทีฟมักจะทำงานได้ดี

ใต้ฮู้ด, Date.getTime() ได้มิลลิวินาทีนับตั้งแต่ยุคแรก (1 ม.ค. 1970). การเปรียบเทียบค่าเหล่านี้ช่วยกำจัดคดีของเขตเวลาและวินาทีอึด, ทำให้มันเป็นเพียงแค่ตัวเลข

ดูเพิ่มเติม