Задать вопрос
PyBig
@PyBig
Помогите решить мои проблемы!

Почему неправильное время в Java Script?

Здравствуйте!

Я пытаюсь реализовать функцию форматирования времени в JavaScript без использования сторонних библиотек. Моей задачей является преобразование входного времени в формате UTC (например, "2024-12-24T14:00:00Z") в локальное время для часового пояса GMT+2.

Вот код функции, которую я использую:
function formatTime(dateString) {
    const date = new Date(dateString);
    const timezoneOffsetHours = 2; // GMT+2
    const hours = (date.getUTCHours() + timezoneOffsetHours) % 24;
    const minutes = date.getUTCMinutes();
    const formattedHours = String(hours).padStart(2, '0');
    const formattedMinutes = String(minutes).padStart(2, '0');
    return `${formattedHours}:${formattedMinutes}`;
}


При передаче строки "2024-12-24T14:00:00Z" я ожидаю получить результат "16:00", но вместо этого функция выдаёт неправильное значение — время отстаёт примерно на 10 часов.

Я убедился, что входная строка имеет формат UTC (с суффиксом Z).
Я проверил системный часовой пояс (локальное время настроено правильно).

Не могу понять, почему время рассчитывается некорректно. Возможно, я неверно работаю с UTC или смещением.

Буду рад любым подсказкам или примерам исправления.

Спасибо!
  • Вопрос задан
  • 98 просмотров
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ваш ответ на вопрос

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

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