帮我写一个可以直接运行的html他是corn解析器请用js实现功能1输入6位数corn表达式对应秒、分、时、天、月、周点击输出可以输出10个最近会触发运行cron的具体日期示例功能2通过勾选具体怎么运行的选项对应秒、分、时、天、月、周然后输出对应的6位数corn表达式
<!DOCTYPE html>
<html>
<head>
<title>Cron解析器</title>
<script>
function generateCron() {
var seconds = document.getElementById("seconds").value;
var minutes = document.getElementById("minutes").value;
var hours = document.getElementById("hours").value;
var days = document.getElementById("days").value;
var months = document.getElementById("months").value;
var weekdays = document.getElementById("weekdays").value;
<pre><code> var cron = seconds + " " + minutes + " " + hours + " " + days + " " + months + " " + weekdays;
document.getElementById("cron-output").innerHTML = cron;
}
function generateDates() {
var cron = document.getElementById("cron-output").innerHTML;
var dates = [];
for (var i = 0; i < 10; i++) {
var date = new Date();
var cronParts = cron.split(" ");
var seconds = cronParts[0];
var minutes = cronParts[1];
var hours = cronParts[2];
var days = cronParts[3];
var months = cronParts[4];
var weekdays = cronParts[5];
if (seconds === "*") {
date.setSeconds(0);
} else {
date.setSeconds(seconds);
}
if (minutes === "*") {
date.setMinutes(0);
} else {
date.setMinutes(minutes);
}
if (hours === "*") {
date.setHours(0);
} else {
date.setHours(hours);
}
if (days === "*") {
date.setDate(1);
} else {
date.setDate(days);
}
if (months === "*") {
date.setMonth(0);
} else {
date.setMonth(months - 1);
}
if (weekdays === "*") {
date.setDate(1);
} else {
var dayOfWeek = weekdays.split(",");
var currentDayOfWeek = date.getDay();
if (dayOfWeek.indexOf(currentDayOfWeek.toString()) === -1) {
date.setDate(date.getDate() + (7 - currentDayOfWeek + parseInt(dayOfWeek[0])));
}
}
dates.push(date);
cronParts[0] = parseInt(cronParts[0]) + 1;
cron = cronParts.join(" ");
}
var output = "";
for (var i = 0; i < dates.length; i++) {
output += dates[i].toString() + "<br>";
}
document.getElementById("date-output").innerHTML = output;
}
</script>
</code></pre>
</head>
<body>
<h1>Cron解析器</h1>
<pre><code><label for="seconds">秒:</label>
<input type="text" id="seconds" value="0"><br><br>
<label for="minutes">分:</label>
<input type="text" id="minutes" value="0"><br><br>
<label for="hours">时:</label>
<input type="text" id="hours" value="0"><br><br>
<label for="days">天:</label>
<input type="text" id="days" value="1"><br><br>
<label for="months">月:</label>
<input type="text" id="months" value="1"><br><br>
<label for="weekdays">周:</label>
<input type="text" id="weekdays" value="*"><br><br>
<button onclick="generateCron()">输出Cron表达式</button><br><br>
<label for="cron-output">Cron表达式:</label>
<span id="cron-output"></span><br><br>
<button onclick="generateDates()">输出最近10个运行时间</button><br><br>
<label for="date-output">运行时间:</label>
<span id="date-output"></span><br><br>
<h2>勾选选项生成Cron表达式</h2>
<label for="every-second">每秒:</label>
<input type="checkbox" id="every-second" onchange="generateCron()"><br><br>
<label for="every-minute">每分钟:</label>
<input type="checkbox" id="every-minute" onchange="generateCron()"><br><br>
<label for="every-hour">每小时:</label>
<input type="checkbox" id="every-hour" onchange="generateCron()"><br><br>
<label for="every-day">每天:</label>
<input type="checkbox" id="every-day" onchange="generateCron()"><br><br>
<label for="every-week">每周:</label>
<input type="checkbox" id="every-week" onchange="generateCron()"><br><br>
<label for="every-month">每月:</label>
<input type="checkbox" id="every-month" onchange="generateCron()"><br><br>
</code></pre>
</body>
</html>
原文地址: https://www.cveoy.top/t/topic/boZA 著作权归作者所有。请勿转载和采集!