Калькулятор времени

Пытаюсь сделать калькулятор для расчета временных интервалов между двумя событиями (А и B).Калькулятор позволяет расчитать временной интервал между двумя событиями в различных единицах: секундах, минутах, часах, сутках, неделях, месяцах, годах. Например есть дата A = 27.03.2023 15:36:23 и B = 27.03.2024 13:23:23. Результат должен быть такой: 0 года/лет, 11 мес., 28 сут., 21 час., 47 мин., 0 сек. Вот код который я сделал

<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>Калькулятор временных интервалов</h1>
<p>Введите даты и время для двух событий:</p>
<form>
    <label>Дата и время события А:</label>
    <input type="datetime-local" id="datetimeA"><br><br>
    <label>Дата и время события B:</label>
    <input type="datetime-local" id="datetimeB"><br><br>
    <input type="button" value="Рассчитать" onclick="calculateInterval()">
</form>
<p>Временной интервал между событиями:</p>
<p id="result"></p>

<script>
    function calculateInterval() {
        const datetimeA = new Date(document.getElementById("datetimeA").value);
        const datetimeB = new Date(document.getElementById("datetimeB").value);

        const diff = datetimeB - datetimeA;

        const seconds = Math.floor(diff / 1000);
        const minutes = Math.floor(seconds / 60);
        const hours = Math.floor(minutes / 60);
        const days = Math.floor(diff / (1000 * 60 * 60 * 24));
        const months = Math.floor(days / 30);
        const years = Math.floor(days / 365);

        const result = `${years} года/лет, ${months % 12} мес., ${days % 30} сут., ${hours % 24} час., ${minutes % 60} мин., ${seconds % 60} сек.`;

        document.getElementById("result").textContent = result;
    }
</script>
</body>
</html>

Нужно использовать чистый js без сторонних библиотек.


Ответы (0 шт):