You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于起止时间计算总分钟数并实时显示的技术实现需求

解决方案

直接添加JavaScript代码即可实现实时计算时间差并显示总分钟数的功能,以下是完整实现:

<div class="col-lg-3 col-sm-6">
  <div class="form-floating">
    <input id="stime" class="form-control" required name="stime" type="time" value="12:00" />
    <label for="stime">Start Time</label>
  </div>
</div>

<div class="col-lg-3 col-sm-6">
  <div class="form-floating">
    <input id="etime" class="form-control" required name="etime" type="time" value="12:30" />
    <label for="etime">End Time</label>
  </div>
</div>

<div class="col col-sm">
  <div class="form-floating">
    <input id="time" class="form-control" name="time" type="text" value="30" readonly />
    <label for="time">Time</label>
  </div>
</div>

<script>
// 获取DOM元素
const startTimeInput = document.getElementById('stime');
const endTimeInput = document.getElementById('etime');
const totalMinutesInput = document.getElementById('time');

// 计算时间差并更新输入框的函数
function calculateTotalMinutes() {
  // 将时间字符串拆分为小时和分钟
  const [startHour, startMinute] = startTimeInput.value.split(':').map(Number);
  const [endHour, endMinute] = endTimeInput.value.split(':').map(Number);
  
  // 转换为总分钟数
  const startTotal = startHour * 60 + startMinute;
  const endTotal = endHour * 60 + endMinute;
  
  // 计算时间差(处理跨天情况,比如结束时间早于开始时间时,默认加24小时)
  let totalMinutes = endTotal - startTotal;
  if (totalMinutes < 0) {
    totalMinutes += 24 * 60;
  }
  
  // 更新到目标输入框
  totalMinutesInput.value = totalMinutes;
}

// 初始化计算(页面加载时执行一次)
calculateTotalMinutes();

// 给开始和结束时间输入框添加事件监听,实时计算
startTimeInput.addEventListener('input', calculateTotalMinutes);
endTimeInput.addEventListener('input', calculateTotalMinutes);
</script>

关键说明:

  • 给time输入框添加了readonly属性,避免用户手动修改计算结果,保持数据一致性
  • 处理了跨天场景:如果结束时间早于开始时间(比如开始时间23:00,结束时间01:00),会自动加上24小时的分钟数,得到正确的间隔
  • 页面加载时会自动执行一次计算,确保初始值正确
  • 只要开始或结束时间发生变化,就会实时更新总分钟数

内容的提问来源于stack exchange,提问作者Nine Delos Reyes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 21:39:18