Сообщение от Igor_Gerasimov
|
1. Если время с с 0:00 до 16:00 по Мск - выводить текущий день
2. Если время с 16:00 до 24:00 по Мск - выводить дату следующего дня
|
<span id="formatted-date"></span>
<script>
const M = 60 * 1000;
const H = 60 * M;
const D = 24 * H;
const Z = 3 * H; // Moscow Standard Time (GMT+300)
const E = 16 * H - Z; // 16 часов в Москве
const time = Math.ceil((Date.now() - E) / D) * D; // формула, вычисляющая время согласно п. 1 и п. 2 из поста №1
const date = new Date(time + new Date().getTimezoneOffset() * M); // переводим полученное время в формат «только показание часов»
const formattedDate = new Intl.DateTimeFormat("ru", {
day: "numeric",
month: "long",
year: "numeric"
}).format(date); // полученное время переводим на русский язык
document.getElementById("formatted-date").textContent = formattedDate; // и выводим в элемент на странице
</script>