Задать вопрос
@AlexVWill

Локальная дата и время?

Надо получить локально дату и время в формате YYYY-MM-DD HH:MM:SS
const dt = new Date().toISOString().replace("T"," ").substring(0, 19);

Выдает по гринвичу, ок, я так понимаю это не баг, а фича Date(). Есть метод getTimezoneOffset() который выдает смещение в минутах относительно UTC, куда его тут применять?
Я в JS полный чайник, просто понадобилось тута внезапно, не знал что это такая засада... )))
  • Вопрос задан
  • 166 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 3
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
const dateTimeFormatter = new Intl.DateTimeFormat(
  'sv-SE',
  {
    dateStyle: 'short',
    timeStyle: 'medium',
  },
);
console.log(dateTimeFormatter.format(new Date()));
// "2024-01-29 09:11:47" 
console.log(dateTimeFormatter.resolvedOptions().timeZone);
// "Europe/Moscow"
Ответ написан
VoidVolker
@VoidVolker Куратор тега JavaScript
Dark side eye. А у нас печеньки! А у вас?
Kentavr16
@Kentavr16
long cold winter
Я состряпал для этого функцию. Можно настроить формат как тебе удобно.

А метод о котором ты говоришь к твоему примеру уже не применим. Так как после toISOString() в dt лежит не объект Date, а строка, которую ты далее изменяешь методами для строк
. Есть ряд методов которые приводят к локальному времени, но если тебе нужен именно определенный формат с определенными знаками, то ее результат также нужно "допиливать". Мне проще было для этого выделить функцию.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы