จะเพิ่มวันสมัครสมาชิกถัดไปได้อย่างไรถ้าเดือนคือมกราคมจาก 29,30,31 เพื่อหลีกเลี่ยงวันเดียวกันในเดือนกุมภาพันธ์ในจาวาสคริปต์ [ทำซ้ำ]

ฉันต้องการตั้งค่า month และ date ของเดือนถัดไปนับจากวันที่สมัครสมาชิก

ตัวอย่าง: หากวันนี้คือ 30th January วันที่ถัดไปของการสมัครควรเปลี่ยนเป็น 30 days after 30th Jan หมายความว่าหากเดือนไม่ก้าวกระโดดก็ควรตั้งค่าเป็น 2nd March แทนที่จะเป็น 30th Feb

นอกจากนี้ เมื่อเดือนเป็น December เดือนควรตั้งเป็นเดือนมกราคม

นี่คือโค้ดที่ฉันคิดว่าจะใช้ซึ่งกำลังแก้ปัญหา Dec to Jan ของฉัน แต่ฉันยังไม่แน่ใจเกี่ยวกับสิ่ง February

var now = new Date();
if (now.getMonth() == 11) {
    var current = new Date(now.getFullYear() + 1, 0, now.getDate());
} else {
    var current = new Date(now.getFullYear(), now.getMonth() + 1, now.getDate());
}

person Biku7    schedule 14.01.2021    source แหล่งที่มา
comment
สิ่งที่คุณอธิบายจะไม่เกิดขึ้น จะบวกเพิ่ม 1 เดือน หรือบวกเพิ่ม 30 วันก็ได้ ผลลัพธ์ก็ใกล้เคียงกัน 31 ม.ค. + 1 เดือน ให้ 2 หรือ 3 มี.ค. ขึ้นอยู่กับว่าเป็นปีอธิกสุรทินหรือไม่ 31 ม.ค. + 30 วัน ให้ 1 หรือ 2 มี.ค. (ขึ้นอยู่กับปีอธิกสุรทิน)   -  person RobG    schedule 14.01.2021


คำตอบ (1)


บวก 30 วันเข้ากับวันที่ปัจจุบันจะได้รับวันที่จริงถัดไปโดยอัตโนมัติหลังจาก 30 วัน

วัตถุ Date จะคำนวณวันที่ถัดไปโดยไม่คำนึงถึงจำนวนวันในเดือนนั้น

let someDate = new Date();
let numberOfDays = 30;

someDate.setDate(someDate.getDate() + numberOfDays); 
let dateFormated = someDate.toISOString().substr(0,10);
console.log(dateFormated);

someDate = new Date('2020-09-10');
someDate.setDate(someDate.getDate() + numberOfDays); 
dateFormated = someDate.toISOString().substr(0,10);
console.log(dateFormated);

person Ahmed Gaafer    schedule 14.01.2021
comment
แต่นี่คือเมื่อเดือนที่แล้วจะมี 30 วัน แล้วถ้ามันมี 31 วันเป็นต้นล่ะ? - person Biku7; 14.01.2021
comment
ฉันเพิ่มตัวอย่างใหม่ - person Ahmed Gaafer; 14.01.2021
comment
แล้วเพิ่มวันที่ก็จะตั้งเดือนอัตโนมัติด้วยเหรอ? หมายความว่าฉันไม่จำเป็นต้อง setMonth ภายนอกหลังจากทำเช่นนี้ใช่ไหม @อาเหม็ด - person Biku7; 14.01.2021
comment
ใช่ คุณจะต้องเพิ่มวันเท่านั้น - person Ahmed Gaafer; 14.01.2021
comment
ตกลง. แล้วถ้าเป็นเดือน ธ.ค. ก็ยังตั้งเดือนและวันที่ตามลำดับกับมกราคมใช่ไหมครับ? - person Biku7; 14.01.2021
comment
ใช่แล้วยังเปลี่ยนปีเป็นปีถัดไปด้วย - person Ahmed Gaafer; 14.01.2021
comment
คุณสามารถเพิ่มตัวอย่างสุดท้ายตามกำหนดวันที่: 1) 30 มกราคม 2564 2) 31 ธันวาคม 2563 แล้วโปรดแจ้งให้เราทราบผลลัพธ์ด้วย!!! - person Biku7; 14.01.2021