Ильнур Габдуллин Asked:2024-09-12 19:00:16 +0000 UTC2024-09-12 19:00:16 +0000 UTC 2024-09-12 19:00:16 +0000 UTC 如何通过星期几(从1到7)计算日期(格式:01/01/0001)? 772 如何确定日期(格式:01.01.0001),知道当前星期几(从 1 到 7)? 例如:当前星期 - 4、日期 - 12.09.2024。 如果输入周数5,则日期将为13.09.2024。 如何实施? javascript 1 个回答 Voted Best Answer Dev18 2024-09-12T20:19:06Z2024-09-12T20:19:06Z 您可以使用getDay(),它返回从星期日开始的一周中的第几天 0-6,然后将其转换为您需要的格式 1-7 如果一周的当前日期是星期日 (0),请将其更改为 7,以便星期日成为一周的最后一天 const adjustedCurrentDayOfWeek = currentDayOfWek === 0 ? 7 : currentDayOfWek; 然后计算天数之间的差值来输出新的采集日期 function findDate() { //получаем введённую дату и выбранный день недели const dateInput = document.getElementById('dateInput').value; const targetDayOfWeek = parseInt(document.getElementById('dayOfWeekInput').value); //создаём дату из введённого значения const startDate = new Date(dateInput); //определяем день недели для введённой даты (0 - воскресенье, 6 - суббота) const currentDayOfWek = startDate.getDay(); //преобразуем текущий день недели в формат (1 - понедельник, 7 - воскресенье) const adjustedCurrentDayOfWeek = currentDayOfWek === 0 ? 7 : currentDayOfWek; //рассчитываем разницу между текущим и целевым днями недели const dayDifference = targetDayOfWeek - adjustedCurrentDayOfWeek; //создаём новую дату, добавив разницу дней const resultDate = new Date(startDate); resultDate.setDate(resultDate.getDate() + dayDifference); //форматируем дату в строку (дд.мм.гггг) const formattedDate = resultDate.toLocaleDateString('ru-RU', { day: '2-digit', month: '2-digit', year: 'numeric' }); //результат var resultText = (resultDate.getDate() === 13 && resultDate.getDay() === 5) ? " 😱 Пятница 13!" : ""; document.getElementById('result').innerText = `Соответствующая дата: ${formattedDate} ${resultText}`; } <h1>календарь текущей даты, по умолчанию 12/09/2024</h1> <input type="date" id="dateInput" value="2024-09-12"><br> <h1>выбор дня недели, по умолчанию 5</h1> <select id="dayOfWeekInput"> <option value="1">1 - Понедельник</option> <option value="2">2 - Вторник</option> <option value="3">3 - Среда</option> <option value="4">4 - Четверг</option> <option value="5" selected>5 - Пятница</option> <option value="6">6 - Суббота</option> <option value="7">7 - Воскресенье</option> </select><br> <div style="margin-top:20px;"> Вывод результата: <button onclick="findDate()">Нажми кнопку, чтоб узнать дату исходя из дня недели</button> <h1 id="result"></h1> </div>
您可以使用getDay(),它返回从星期日开始的一周中的第几天 0-6,然后将其转换为您需要的格式 1-7
如果一周的当前日期是星期日 (0),请将其更改为 7,以便星期日成为一周的最后一天
const adjustedCurrentDayOfWeek = currentDayOfWek === 0 ? 7 : currentDayOfWek;然后计算天数之间的差值来输出新的采集日期