Проблема с Date на Node JS

291
03 мая 2022, 06:10

При создании экземпляра Date (new Date()), судя по документации, возвращается текущее локальное время, но мне возвращается время со сдвигом на -2 часа.

Так же при передачи формата даты в виде "dd.mm.yyyy" в конструктор, дата парсится не корректно, возвращается в виде: mm.dd.yyyy.

Пример:

let date = new Date(); // return time === 16:52;
console.log(date); 
// dd.mm.yyyy
date = new Date('12.11.2020')
console.log(date.getDate());
// Метод getDate() возвращает день.

Answer 1

Насколько я понимаю, тут у вас две проблемы.

  1. Дата в Node.js учитывает локальный временной пояс, однако не все форматы вывода даты этот пояс учитывают. По умолчанию в консоль дата выводится в формате Date.prototype.toISOString(), который всегда в "нулевом" часовом поясе (UTC). Браузеры могут выводить дату в консоль по умолчанию в другом формате, отсюда может быть разница. Если вам нужна унификация, всегда пользуйтесь каким-то одним явным методом класса Date для превращения в строку.

  2. Создания даты с использованием строки не рекомендуется из-за непредсказуемости реализаций. По крайней мере стоит использовать стандартизированную строку. Ваша строка нестандартна, и тут в дело вступают опять-таки непредсказуемые алгоритмы.

READ ALSO
JS проверка на наличие слова в src картинки

JS проверка на наличие слова в src картинки

Есть html элемент img, в нём есть src='', как проверить src на содержание определённого слова? например слова home

242
JS как select задать имя не используя option

JS как select задать имя не используя option

Подскажите пожалуйста, как с помощью js для селекта задать имя из блока div или label

255
Работа с Webpack на готовом лендинге

Работа с Webpack на готовом лендинге

Есть свёрстанный адаптивный лендинг со стилями, скриптами, шрифтами и тд

220