@AlexVWill

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

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

Выдает по гринвичу, ок, я так понимаю это не баг, а фича Date(). Есть метод getTimezoneOffset() который выдает смещение в минутах относительно UTC, куда его тут применять?
Я в JS полный чайник, просто понадобилось тута внезапно, не знал что это такая засада... )))
  • Вопрос задан
  • 164 просмотра
Решения вопроса 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, а строка, которую ты далее изменяешь методами для строк
. Есть ряд методов которые приводят к локальному времени, но если тебе нужен именно определенный формат с определенными знаками, то ее результат также нужно "допиливать". Мне проще было для этого выделить функцию.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
24 нояб. 2024, в 03:11
500 руб./за проект
24 нояб. 2024, в 01:35
5000 руб./за проект
24 нояб. 2024, в 01:24
500 руб./за проект