如何使用JavaScript给指定时间添加分钟级时长并输出正确结果
JavaScript时间累加需求实现方案
你的现有代码仅拆分了待加时长的小时和分钟,没有处理原有分钟与新增分钟相加后超过60的进位场景,也未覆盖小时超过24的跨天场景,调整方案如下:
调整后完整代码
let h = +prompt("Enter current hour: "); let min = +prompt("Enter current minutes: "); let truk = +prompt("Enter duration (minutes): "); // 统一计算总分钟数,避免拆分漏算进位 let totalMin = min + truk; // 总分钟对60取余得到最终分钟 let finalMin = totalMin % 60; // 总分钟整除60得到需进位的小时,叠加原有小时得到总小时 let totalHour = h + Math.trunc(totalMin / 60); // 总小时对24取余处理跨天场景 let finalHour = totalHour % 24; // 补前导零,符合日常时间显示规范(比如5分钟显示为05) finalMin = finalMin < 10 ? '0' + finalMin : finalMin; finalHour = finalHour < 10 ? '0' + finalHour : finalHour; console.log("You have entered: " + "h = " + h + ", " + "min = " + min + ", " + "truk = " + truk); console.log("Result: " + finalHour + " : " + finalMin);
效果验证
- 你举的示例输入:17小时、35分钟、加20分钟,最终输出为
17 : 55,符合预期 - 边界场景测试:输入23小时、50分钟、加30分钟,最终输出为
00 : 20,自动处理跨天进位
内容的提问来源于stack exchange,提问作者Ralf Strauss
相关产品推荐
相关产品推荐

