Обратите внимание, что когда в конструкторе передается один числовой аргумент , он принимается как внутреннее числовое представление даты в миллисекундах. Обратите внимание, что мы не передаем строку в конструктор Например, передача аргумента 5000 создает дату, которая представляет пять секунд после полуночи 01.01.1970.
Для вашего случая 6546 миллисекунд, что составляет 6,546 секунды, вернет ту же дату 01.01.1970, потому что нет большой разницы, когда вы добавляете 5 секунд от этой даты.
но теперь, если вы передадите «6546» миллисекунды в виде строки в конструктор, она будет обрабатываться как год 6546, и вы получите результат как 6546-01-01T00: 00: 00.000Z.
Проверьте, передаете ли вы числовое значение, а не строку и правильно ли рассчитано значение в миллисекундах.
Справка: https://www.tutorialspoint.com/javascript/javascript_date_object.htm
Попробуйте использовать эти коды для строковых и числовых аргументов / значений, передаваемых в конструктор соответственно.
console.log(new Date("6546").toLocaleDateString());
console.log(new Date(6546).toLocaleDateString());