บทช่วยสอนนี้จะหารือเกี่ยวกับ:
- เหตุใดเมธอด Date.getDay() จึงส่งคืนวันที่ไม่ถูกต้องใน JavaScript
- จะแก้ไขได้อย่างไรหาก Date.getDay() ส่งกลับวันที่ผิดใน JavaScript
เหตุใดเมธอด Date.getDay() จึงส่งคืนวันที่ไม่ถูกต้องใน JavaScript
เมธอด Date.getDay() ให้วันที่ไม่ถูกต้องเป็นเอาต์พุตใน JavaScript เนื่องจากเมธอด getDay() แสดงผลวันธรรมดาสำหรับวันที่เฉพาะที่เกี่ยวข้องกับเวลาท้องถิ่น จะแสดงตัวเลขจำนวนเต็ม (0-6) ซึ่งตรงกับวันในสัปดาห์สำหรับวันนั้นๆ โดย 0 หมายถึงวันอาทิตย์ 1 หมายถึงวันจันทร์ 2 หมายถึงวันอังคาร และอื่นๆ
ทีนี้มาอธิบายปัญหาที่กล่าวถึงกัน
ตัวอย่าง
ในตัวอย่างที่กำหนด ขั้นแรกให้สร้างวัตถุวันที่ใหม่โดยใช้ตัวสร้างวันที่ () และส่งผ่านวันที่ “ 21 พ.ย. 2563 ” เป็นอาร์กิวเมนต์:
เคยเป็น วันที่ = ใหม่ วันที่ ( '21 พ.ย. 2563' ) ;
โทรหา “ รับวัน () ” วิธีการพิมพ์วันที่ของเดือนบนคอนโซล:
คอนโซล บันทึก ( วันที่. รับวัน ( ) ) ;
ผลลัพธ์ระบุวันที่ผิดของเดือน มันแสดง “ 6 ” โดยกำหนดให้วันที่ 21 พ.ย. 2563 เป็น “ วันเสาร์ ” ในขณะที่เราอยากได้วันเดือนปี “ ยี่สิบเอ็ด ”:
จะแก้ไขได้อย่างไรหาก Date.getDay() ส่งกลับวันที่ผิดใน JavaScript
เพื่อแก้ไขปัญหานี้ ให้ใช้ “ รับวันที่ () ” วิธีการแทน “ รับวัน () ” เพื่อรับค่าที่ถูกต้องสำหรับวันของเดือน วิธีนี้ให้ตัวเลขจำนวนเต็ม (1 ถึง 31) ที่แสดงถึงวันของเดือนสำหรับวันที่ที่ระบุ
ตัวอย่าง
โทรหา “ รับวันที่ () ” วิธีการของ Date Object:
เอาต์พุตระบุว่า “ รับวันที่ () ” วิธีการเรียกวันที่ที่ถูกต้องของเดือนเป็น “ ยี่สิบเอ็ด ”:
เราได้ให้รายละเอียดที่จำเป็นเกี่ยวกับปัญหาที่กล่าวถึงพร้อมแนวทางแก้ไขที่เหมาะสม
บทสรุป
ถ้า Date.getDay() ส่งกลับวันที่ไม่ถูกต้องใน JavaScript จากนั้นใช้ปุ่ม “ รับวันที่ () ” วิธีการแทน “ รับวัน () ” ขณะที่ รับวัน () เมธอดให้ตัวเลข (0-6) ที่ตรงกับวันในสัปดาห์สำหรับวันนั้นๆ ในขณะที่ “ รับวันที่ () ” วิธีการให้จำนวนเต็ม (1 ถึง 31) ซึ่งหมายถึงวันของเดือนสำหรับวันที่ที่ระบุ โพสต์นี้กล่าวถึงสาเหตุที่เมธอด Date.getDay() ส่งกลับวันที่ไม่ถูกต้องใน JavaScript และวิธีการแก้ไข