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

在JavaScript中如何从Date对象仅返回HH:mm格式的时间

实现方案

有以下几种常用实现方式:

方法1:直接修改substr截取长度

你原代码里的substr(11, 8)是从ISO字符串的第11位开始截取8个字符(对应HH:mm:ss格式),只需要把截取长度改成5即可直接得到HH:mm格式:

var seconds = 8274;
new Date(seconds * 1000).toISOString().substr(11, 5)
// 输出结果:"02:17"

方法2:分割字符串后拼接

如果需要更高的灵活性,可以先拿到完整的时分秒字符串,再按冒号分割取前两位拼接:

var seconds = 8274;
new Date(seconds * 1000).toISOString().substr(11, 8).split(':').slice(0,2).join(':')
// 输出结果:"02:17"

方法3:手动计算(支持超过24小时的场景)

上面两种方法仅适用于秒数小于86400(即1天总秒数)的场景,如果需要处理超过1天的秒数,建议直接手动计算小时和分钟,避免日期进位导致的结果错误:

var seconds = 8274;
const hours = String(Math.floor(seconds / 3600)).padStart(2, '0');
const minutes = String(Math.floor((seconds % 3600) / 60)).padStart(2, '0');
const result = `${hours}:${minutes}`;
// 输出结果:"02:17"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 13:24:03