การเริ่มต้นวันใน JavaScript
มาเริ่มต้นด้วยการได้มาซึ่งวัตถุวันที่ที่ประกอบด้วย จุดเริ่มต้นของวันปัจจุบัน:
let now = new Date();
let date = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0);
ดังที่คุณทราบแล้วว่า พารามิเตอร์ของวัตถุ Date
สามารถละไว้ได้จากส่วนท้าย ในกรณีนี้ชั่วโมง
นาทีและวินาทีจะได้รับค่า 0
เราจะละมันไว้:
let now = new Date();
let date = new Date(now.getFullYear(), now.getMonth(), now.getDate());
แต่ส่วนของวันไม่สามารถละไว้ได้ เพราะถ้า
ละไว้ มันจะรับค่า 1 ในขณะที่
เราต้องการวันปัจจุบัน การละเดือนโดยไม่
ละปีก็ทำไม่ได้เช่นกัน ตามกฎการทำงาน
ของ Date
การละปี เดือน และวันพร้อมกันก็
ทำไม่ได้เช่นกัน - ในกรณีนี้จะได้เวลา
ปัจจุบัน ว่าทำไมนี่ถึงไม่ดี ในเมื่อเรา
ต้องการปีปัจจุบัน เดือนปัจจุบัน และวันปัจจุบัน?
ปัญหาคือ เราต้องการเวลาเที่ยงคืน
นั่นคือชั่วโมง นาที และวินาทีต้องมี
ค่า 0 แต่ในเวลาปัจจุบัน
พวกมันจะมีค่าปัจจุบัน ไม่ใช่เวลาเที่ยงคืน
จงกำหนดว่ามีกี่ชั่วโมงที่ผ่านไประหว่างจุดเริ่มต้น ของวันและเวลาปัจจุบัน