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

使用jQuery补全时间格式末尾零:秒转时间时分显示异常问题

解决秒数转时间格式时分钟位补零的问题

你的问题出在toFixed(2)的使用场景不对——buildEndTime是拼接出来的字符串(比如"14:0"),parseFloat会提取出前面的数字部分(14),转成14.00,完全达不到补分钟位零的效果。

给你两个可行的解决方案:

方案一:使用ES6的padStart方法(推荐)

先分别计算小时和分钟,把分钟转成字符串后用padStart(2, '0')强制补成两位:

const hours = Math.floor(gig.end_time / 3600);
const minutes = Math.floor((gig.end_time % 3600) / 60);
const buildEndTime = `${hours}:${minutes.toString().padStart(2, '0')}`;

比如输入50400秒(14*3600),会得到"14:00";输入3660秒(1小时1分),得到"1:01"。

方案二:自定义补零函数(兼容旧环境)

如果需要支持不兼容padStart的旧浏览器,写个简单的补零函数:

function padZero(num) {
  return num < 10 ? `0${num}` : num;
}

const hours = Math.floor(gig.end_time / 3600);
const minutes = Math.floor((gig.end_time % 3600) / 60);
const buildEndTime = `${hours}:${padZero(minutes)}`;

另外补充下:你原来的Math.floor(gig.end_time / 60) % 60计算分钟的方式是对的,但用(gig.end_time % 3600) / 60来计算剩余分钟会更直观,逻辑上是等价的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 22:55:16