Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Простой JavaScript код с выводом даты (https://javascript.ru/forum/dom-window/77578-prostojj-javascript-kod-s-vyvodom-daty.html)

Igor_Gerasimov 22.05.2019 18:11

Простой JavaScript код с выводом даты
 
Здравствуйте.

Нужен простенький JavaScript код, который бы выводил дату в зависимости от времени сегодня.
1. Если время с с 0:00 до 16:00 по Мск - выводить текущий день
2. Если время с 16:00 до 24:00 по Мск - выводить дату следующего дня

Уверен, что это будет очень простой код, но просто нет знаний по JavaScript, поэтому прошу добрых людей помочь.

рони 22.05.2019 20:20

Igor_Gerasimov,
условно, вы получили дату var data = "23 мая 2019г", напишите вывод на страницу.
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

Malleys 22.05.2019 23:41

Цитата:

Сообщение от 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>

рони 23.05.2019 09:27

дата исполнения заказа в зависимости от времени
 
:)
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script>
Date.prototype.setTimezoneOffset = function(minutes) {
    var _minutes;
    if (this.timezoneOffset == _minutes) {
        _minutes = this.getTimezoneOffset();
    } else {
        _minutes = this.timezoneOffset;
    }
    if (arguments.length) {
        this.timezoneOffset = minutes;
    } else {
        this.timezoneOffset = minutes = this.getTimezoneOffset();
    }
    return this.setTime(this.getTime() + (_minutes - minutes) * 6e4);
};

function getDate(hoursEnd, timeZone)
{
    var time = new Date;
    time.setTimezoneOffset(-180);
    var hours = time.getHours();
    if(hours >= hoursEnd) time.setDate(time.getDate() + 1);
    return time.toLocaleString('ru', {
        year: 'numeric',
        month: 'long',
        day: 'numeric'
      });
}
addEventListener('load', () => document.querySelector('.executionDate').textContent = getDate(16, -180))
</script>
</head>

<body>
<div class="executionDate"></div>

</body>
</html>

... Igor_Gerasimov, Учебник


Часовой пояс GMT +3, время: 18:27.