Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

หาวันที่วานนี้ใน JavaScript ด้วย setDate()

คำนวณวันที่วานนี้จากวันที่ปัจจุบัน

ใช้ setDate(getDate() - 1) ลบ 1 วัน อัปเดตออบเจกต์ Date โดยอัตโนมัติจัดการข้ามเดือน/ปี

ตัวอย่างโค้ด

var currentDate = new Date();
console.log("วันที่ปัจจุบัน = " + currentDate);

var yesterdayDate = currentDate.setDate(currentDate.getDate() - 1);
console.log("วันที่วานนี้ = " + new Date(yesterdayDate));

วิธีรัน

node fileName.js

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

วันที่ปัจจุบัน = Fri Jul 31 2020 18:57:17 GMT+0530 (India Standard Time)
วันที่วานนี้ = Thu Jul 30 2020 18:57:17 GMT+0530 (India Standard Time)

คำอธิบาย

  • getDate() คืนค่าวันของเดือน (1-31)
  • setDate(n) ตั้งค่าวันของเดือน ถ้าน้อยกว่า 1 จะย้อนเดือน/ปีอัตโนมัติ
  • setDate() คืนค่า timestamp (มิลลิวินาที) ไม่ใช่ Date object
  • ต้อง wrap ด้วย new Date() อีกครั้งเพื่อได้ Date object

ฟังก์ชันสำเร็จรูป

function getYesterday(date = new Date()) {
  const d = new Date(date);
  d.setDate(d.getDate() - 1);
  return d;
}

console.log(getYesterday()); // วานนี้
console.log(getYesterday(new Date('2024-01-01'))); // 2023-12-31