@AlexVWill

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

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

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

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

Войти через центр авторизации
Похожие вопросы
SummerWeb Ярославль
от 120 000 до 180 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
Market-place Ростов-на-Дону
от 100 000 до 200 000 ₽