Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Решить задачу на JavaScript, пожалуйста, помогите!

андрей малышев Профи (681), на голосовании 6 месяцев назад
Дана строка формата «Фамилия время сдачи багажа время освобождения ячейки». Вывести строку вида «Фамилия время хранения». Время в часах округлить до целого.
Например, входная строка:
Пушкин 09:45 12:15.
Выходная строка:
Пушкин 2 часа.
Голосование за лучший ответ
GGG Просветленный (35283) 7 месяцев назад
 function calculateStorageTime(input) { 
// Разбиваем входную строку по пробелам
const parts = input.split(' ');
// Извлекаем фамилию, время сдачи и время освобождения
const lastName = parts[0];
const checkInTime = parts[1];
const releaseTime = parts[2];

// Преобразуем время в объекты Date
const checkInDate = new Date(`1970-01-01T${checkInTime}:00Z`);
const releaseDate = new Date(`1970-01-01T${releaseTime}:00Z`);

// Вычисляем разницу во времени в миллисекундах и переводим в часы
const diffHours = (releaseDate - checkInDate) / 1000 / 60 / 60;

// Округляем время хранения до ближайшего целого
const storageTime = Math.round(diffHours);

// Возвращаем результат в требуемом формате
return `${lastName} ${storageTime} час${storageTime === 1 ? '' : 'а'}`;
}

// Пример использования функции
const inputString = 'Пушкин 09:45 12:15';
const result = calculateStorageTime(inputString);
console.log(result); // Вывод: Пушкин 2 часа
андрей малышев Профи (681) 7 месяцев назад
Спасибо огромное за помощь! Очень помогли!
Похожие вопросы