<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>日期工具 - 倒计时</title><style>* { margin: 0; padding: 0; box-sizing: border-box; }body {font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);min-height: 100vh;padding: 20px;}.container { max-width: 900px; margin: 0 auto; }h1 { text-align: center; color: #fff; margin-bottom: 30px; font-size: 2rem; }.section {background: #fff;border-radius: 15px;padding: 25px;margin-bottom: 20px;box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);}.section h2 { color: #667eea; margin-bottom: 15px; font-size: 1.3rem; }.code-block {background: #f8f9fa;border-left: 4px solid #667eea;padding: 15px;border-radius: 0 8px 8px 0;margin: 15px 0;font-family: monospace;font-size: 0.85rem;}.input-group { margin: 15px 0; }.input-group label { display: block; margin-bottom: 8px; color: #333; font-weight: bold; }.input-group input {width: 100%;padding: 12px;border: 2px solid #e0e0e0;border-radius: 8px;font-size: 1rem;}.btn {background: linear-gradient(90deg, #667eea, #764ba2);border: none;color: #fff;padding: 12px 25px;border-radius: 8px;cursor: pointer;font-size: 1rem;margin: 5px;}.result-box {background: #f0f4ff;border: 2px solid #667eea;border-radius: 10px;padding: 20px;margin-top: 20px;}.result-box h3 { color: #667eea; margin-bottom: 10px; }.countdown-display {background: #f8f9fa;padding: 15px;border-radius: 8px;margin: 10px 0;font-family: monospace;font-size: 1.1rem;}.countdown-time {background: linear-gradient(135deg, #28a745 0%, #20c997 100%);color: #fff;padding: 30px;border-radius: 15px;text-align: center;margin: 20px 0;font-size: 2rem;font-weight: bold;}</style></head><body><div class="container"><h1>日期工具 - 倒计时</h1><div class="section"><h2>倒计时</h2><div class="input-group"><label>目标日期:</label><input type="datetime-local" id="targetDate" /></div><button class="btn" onclick="startCountdown()">开始倒计时</button><button class="btn" onclick="stopCountdown()">停止倒计时</button><div class="result-box" id="resultBox" style="display:none;"><h3>倒计时结果</h3><div class="countdown-time" id="countdownTime">00:00:00:00</div><div class="countdown-display" id="countdownResult"></div></div></div><div class="section"><h2>倒计时方法实现</h2><div class="code-block">// 倒计时函数<br>function countdown(targetDate) {<br> const now = new Date();<br> const target = new Date(targetDate);<br> const diff = target - now;<br><br> if (diff <= 0) {<br> return { days: 0, hours: 0, minutes: 0, seconds: 0 };<br> }<br><br> const days = Math.floor(diff / (1000 * 60 * 60 * 24));<br> const hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));<br> const minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));<br> const seconds = Math.floor((diff % (1000 * 60)) / 1000);<br><br> return { days, hours, minutes, seconds };<br>}</div></div></div><script>let countdownInterval;function startCountdown() {const targetDateInput = document.getElementById('targetDate').value;if (!targetDateInput) {alert('请选择目标日期');return;}const targetDate = new Date(targetDateInput);document.getElementById('resultBox').style.display = 'block';if (countdownInterval) clearInterval(countdownInterval);countdownInterval = setInterval(() => {const result = countdown(targetDate);const { days, hours, minutes, seconds } = result;document.getElementById('countdownTime').textContent =`${String(days).padStart(2, '0')}:${String(hours).padStart(2, '0')}:${String(minutes).padStart(2, '0')}:${String(seconds).padStart(2, '0')}`;document.getElementById('countdownResult').innerHTML =`${days}天 ${hours}小时 ${minutes}分 ${seconds}秒`;if (days === 0 && hours === 0 && minutes === 0 && seconds === 0) {clearInterval(countdownInterval);alert('倒计时结束!');}}, 1000);}function stopCountdown() {if (countdownInterval) {clearInterval(countdownInterval);countdownInterval = null;}}function countdown(targetDate) {const now = new Date();const diff = targetDate - now;if (diff <= 0) {return { days: 0, hours: 0, minutes: 0, seconds: 0 };}const days = Math.floor(diff / (1000 * 60 * 60 * 24));const hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));const minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));const seconds = Math.floor((diff % (1000 * 60)) / 1000);return { days, hours, minutes, seconds };}</script></body></html>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。