วิธีการคำนวณ ความแตกต่างระหว่างวันที่สอง
ใน JavaScript ได้อย่างง่ายดาย
เมื่อสร้างแอปพลิเคชันเว็บ การจัดการวันที่และเวลาอาจรู้สึกเหมือนเป็นปริศนาอยู่บ่อยครั้ง หนึ่งในสถานการณ์ทั่วไปที่นักพัฒนาต้องเผชิญคือการต้องคำนวณความแตกต่างระหว่างวันที่สอง โดยเฉพาะเมื่อเกี่ยวข้องกับเหตุการณ์หรือกรอบเวลา ตัวอย่างเช่น คุณอาจต้องให้ผู้ใช้เลือกวันที่เริ่มต้น และสร้างวันที่สิ้นสุดโดยอัตโนมัติตามข้อมูลที่ป้อนเข้าไป บทความนี้จะช่วยคุณค้นพบวิธีการบรรลุผลนี้อย่างง่ายดายใน JavaScript
ภาพรวมปัญหา
จินตนาการว่าคุณกำลังพัฒนาแอปพลิเคชันที่อนุญาตให้ผู้ใช้กำหนดเหตุการณ์ ผู้ใช้เลือกวันที่เริ่มต้นสำหรับเหตุการณ์ และคุณต้องการให้วันที่สิ้นสุดถูกกรอกโดยอัตโนมัติ อย่างไรก็ตาม คุณไม่แน่ใจว่าจะวัดความแตกต่างระหว่างวันที่เริ่มต้นและวันที่สิ้นสุดได้อย่างไร และจะใช้ความแตกต่างนั้นในการสร้างวันที่สิ้นสุดใหม่ได้อย่างไร
การวิเคราะห์วิธีการแก้ปัญหา
ในทางคณิตศาสตร์ ความแตกต่างระหว่างวันที่สองสามารถคำนวณได้โดยการลบวันหนึ่งออกจากอีกวันหนึ่งใน JavaScript วิธีนี้สามารถทำได้อย่างมีประสิทธิภาพด้วยอ็อบเจ็กต์ Date นี่คือคู่มือขั้นตอนในการนำไปใช้
ขั้นตอนที่ 1: รับเวลาในมิลลิวินาที
ใน JavaScript วันที่สามารถถูกแปลงเป็นรูปแบบเลขที่แสดงจำนวนมิลลิวินาทีตั้งแต่ยุค (1 มกราคม 1970) คุณสามารถทำได้โดยใช้เมธอด getTime()
หรือโดยการใช้วันที่โดยตรงในนิพจน์ทางเลข
ขั้นตอนที่ 2: คำนวณความแตกต่าง
เพื่อตรวจสอบความแตกต่างระหว่างวันที่สองเพียงแค่ลบวันที่เริ่มต้นออกจากวันที่สิ้นสุด:
var oldBegin = ...; // วันที่กำหนดเริ่มต้น
var oldEnd = ...; // วันที่กำหนดสิ้นสุด
เมื่อคุณลบวันที่เหล่านี้ JavaScript จะคำนวณความแตกต่างในมิลลิวินาที
ขั้นตอนที่ 3: สร้างวันที่สิ้นสุดใหม่
เมื่อคำนวณความแตกต่างได้ คุณสามารถสร้างวันที่ใหม่ได้ โดยมีวิธีการดังนี้:
var newBegin = ...; // วันที่เริ่มต้นที่ผู้ใช้เลือก
// คำนวณวันที่สิ้นสุดใหม่
var newEnd = new Date(newBegin.getTime() + (oldEnd.getTime() - oldBegin.getTime()));
การอธิบายการคำนวณวันที่
- อ็อบเจ็กต์วันที่:
oldBegin
,oldEnd
, และnewBegin
เป็นอินสแตนซ์ของอ็อบเจ็กต์ Date - ตัวดำเนินการใน JavaScript: เมื่อคุณใช้ตัวดำเนินการ
+
หรือ-
กับอ็อบเจ็กต์ Date JavaScript จะทำการแปลงให้อยู่ในค่าหมายเลขโดยอัตโนมัติ ขอบคุณกับวิธีvalueOf()
นี้หมายความว่า:date.getTime()
จะเท่ากับdate.valueOf()
- ทั้งคู่ให้ค่าตัวเลขเดียวกันของวันที่ในมิลลิวินาที
สรุป
โดยใช้วิธีการข้างต้น คุณสามารถจัดการอ็อบเจ็กต์วันที่ใน JavaScript อย่างมีประสิทธิภาพเพื่อตรวจสอบความแตกต่างระหว่างวันที่สองและสร้างออินสแตนซ์วันที่ใหม่ตามต้องการสำหรับแอปพลิเคชันของคุณ ซึ่งช่วยให้มีฟังก์ชันที่มีพลศาสตร์ที่เสริมสร้างประสบการณ์ของผู้ใช้ โดยเฉพาะเมื่อมีการตั้งค่าเหตุการณ์และการจัดการกรอบเวลา
คุณสามารถนำคู่มือนี้ไปใช้ในความพยายามในการพัฒนาของคุณได้อย่างสบายใจ โดยมั่นใจว่าแอปของคุณจะจัดการกับวันที่ได้อย่างง่ายดาย!