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

求助:JavaScript实现分钟转小时/天数功能(超24h自动转天)

解决分钟转时长(支持天/小时/分钟)的问题

没问题,我来帮你搞定这个时长转换的需求!咱们的核心逻辑就是先把分钟转换成总小时数,再拆分出天数和剩余小时数,最后加上剩余的分钟数就行,一步一步来拆解:

核心思路

  1. 先计算总小时数:用输入的分钟数除以60,取整数部分
  2. 从总小时数里拆分天数:总小时数除以24,取整数部分就是天数
  3. 计算剩余小时数:总小时数对24取余,得到不够一天的剩余小时
  4. 计算剩余分钟数:输入的分钟数对60取余,得到不够一小时的剩余分钟

修改后的完整代码

// 分钟转天/小时/分钟转换器
function ConvertMinutes(num) {
  // 计算总小时数
  const totalHours = Math.floor(num / 60);
  // 计算天数
  const days = Math.floor(totalHours / 24);
  // 剩余小时数(总小时数减去天数对应的小时数)
  const remainingHours = totalHours % 24;
  // 剩余分钟数
  const remainingMinutes = num % 60;

  // 拼接结果,根据是否有天数来返回不同格式
  let result = '';
  if (days > 0) {
    result += `${days}天`;
  }
  if (remainingHours > 0 || days > 0) { // 有天数时即使小时为0也显示,比如1天0小时
    result += `${remainingHours}小时`;
  }
  if (remainingMinutes > 0 || result === '') { // 没有天和小时时,只显示分钟
    result += `${remainingMinutes}分钟`;
  }

  return result;
}

测试几个例子验证

  • 输入1440(刚好24小时):返回1天0小时0分钟
  • 输入1500(25小时):返回1天1小时0分钟
  • 输入65(1小时5分钟):返回1小时5分钟
  • 输入30(只有30分钟):返回30分钟
  • 输入2885(2天0小时5分钟):返回2天0小时5分钟

这样就完全满足你“时长超过24小时自动转换为X天Y小时”的需求啦,你可以根据自己的UI需要调整结果的拼接格式,比如要不要显示0分钟之类的,灵活修改就行~

内容的提问来源于stack exchange,提问作者Cody

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:58:36