So I am trying to add a day to a date however I think daylight savings is causing me issues, here is the code:
<code> let date = new Date('2024-03-31');
console.log(date);
date.setDate(date.getDate() + 1);
console.log(date);
date.setDate(date.getDate() + 1);
console.log(date);
</code>
<code> let date = new Date('2024-03-31');
console.log(date);
date.setDate(date.getDate() + 1);
console.log(date);
date.setDate(date.getDate() + 1);
console.log(date);
</code>
let date = new Date('2024-03-31');
console.log(date);
date.setDate(date.getDate() + 1);
console.log(date);
date.setDate(date.getDate() + 1);
console.log(date);
and the resulting logs:
<code> LOG 2024-03-31T00:00:00.000Z
LOG 2024-03-31T23:00:00.000Z
LOG 2024-04-01T23:00:00.000Z
</code>
<code> LOG 2024-03-31T00:00:00.000Z
LOG 2024-03-31T23:00:00.000Z
LOG 2024-04-01T23:00:00.000Z
</code>
LOG 2024-03-31T00:00:00.000Z
LOG 2024-03-31T23:00:00.000Z
LOG 2024-04-01T23:00:00.000Z
Would using UTC dates fix this issue? Something like this:
<code> const date = new Date('2024-03-31');
let utcDate = Date.UTC(
date.getUTCFullYear(),
date.getUTCMonth(),
date.getUTCDate(),
0,
0,
0,
);
utcDate += 60 * 60 * 24 * 1000;
let nextDate = new Date(utcDate);
nextDate.toISOString().slice(0, 10);
</code>
<code> const date = new Date('2024-03-31');
let utcDate = Date.UTC(
date.getUTCFullYear(),
date.getUTCMonth(),
date.getUTCDate(),
0,
0,
0,
);
utcDate += 60 * 60 * 24 * 1000;
let nextDate = new Date(utcDate);
nextDate.toISOString().slice(0, 10);
</code>
const date = new Date('2024-03-31');
let utcDate = Date.UTC(
date.getUTCFullYear(),
date.getUTCMonth(),
date.getUTCDate(),
0,
0,
0,
);
utcDate += 60 * 60 * 24 * 1000;
let nextDate = new Date(utcDate);
nextDate.toISOString().slice(0, 10);
6