0👍
When calling new Date(2019, 2, 30)
the date created is 2019-03-30T00:00:00
IN YOUR TIMEZONE …
whereas, Not sure what I was thinking here … complete and utter garbage :pnew Date("30/3/2019")
would create 2019-03-30T00:00:00Z
– i.e. UCT/UTC/GMT/Zulu whatever you call it – if you are not in +0 Timezone, then this will fail
If inputFecha is an <input type="date">
addDate: function(event) {
var fecha = document.getElementById("inputFecha").valueAsDate;
var fecha2 =new Date(fecha.getFullYear(), fecha.getMonth(), fecha.getDate());
availableDates.push(fecha2);
},
As you have failed to add an MCVE, the following code is a rough dummy to show that it does work
const availableDates = [];
let something = {
addDate: function(event) {
var fecha = document.getElementById("inputFecha").valueAsDate;
var fecha2 = new Date(fecha.getFullYear(), fecha.getMonth(), fecha.getDate());
availableDates.push(fecha2);
console.log(availableDates);
},
deleteDate: function(event) {
var collection = availableDates,
d // = new Date(event.getFullYear(), event.getMonth(), event.getDate()),
// dummy code to test
var fecha = document.getElementById("inputFecha").valueAsDate;
d = new Date(fecha.getFullYear(), fecha.getMonth(), fecha.getDate());
// end dummy code
const idx = collection.map(Number).indexOf(+d);
if (idx != -1) {
availableDates.splice(idx, 1);
}
console.log(availableDates);
}
}
availableDates.push(new Date(2019, 2, 29));
availableDates.push(new Date(2019, 2, 30));
availableDates.push(new Date(2019, 2, 28));
console.log(availableDates);
document.querySelectorAll('.butt').forEach(btn =>
btn.addEventListener('click', something[btn.id])
);
<input type="date" id="inputFecha">
<input type="button" class="butt" id="addDate" value="add">
<input type="button" class="butt" id="deleteDate" value="remove">
Source:stackexchange.com