Date.getDay() ส่งคืนวันที่ไม่ถูกต้องใน JavaScript [แก้ไขแล้ว]

Date Getday Sng Khun Wan Thi Mi Thuk Txng Ni Javascript Kaekhi Laew



Date Objects เป็นตัวแทนที่ไม่ขึ้นกับแพลตฟอร์มในช่วงเวลาเดียว โดยเฉพาะอย่างยิ่ง Date Object ใน JavaScript มีเมธอดที่มีอยู่แล้วภายในหลายวิธีสำหรับการดึงข้อมูลวัน เดือน ปี เวลา และอื่นๆ รวมทั้ง getDate(), getDay(), getMonth(), getYear() และอื่นๆ อย่างไรก็ตาม บางครั้งเมธอด Date.getDay() จะส่งกลับวันที่ไม่ถูกต้อง

บทช่วยสอนนี้จะหารือเกี่ยวกับ:

เหตุใดเมธอด 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 และวิธีการแก้ไข