const due = new Date("2024-03-10");
console.log(due.toLocaleDateString("en-US"));
3/9/2024A date-only ISO string like "2024-03-10" is parsed as midnight UTC. New York is 5 hours behind UTC in March, so that moment is 7 pm on 9 March there. The display shows 3/9/2024.
"3/10/2024" is the tempting wrong answer. It is what users east of UTC see, which is why this bug often hides during development. A date-time string without Z, like "2024-03-10T00:00", is parsed as local time instead. For a plain calendar date, keep it as a string or use Temporal.PlainDate.