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

如何使用JavaScript将带单位的时间字符串转换为对应秒数

JavaScript时间单位转秒函数实现
function to_number_of_seconds(timeStr) {
  // 单位与秒数的映射表,可按需扩展其他单位
  const unitMap = {
    s: 1,
    m: 60,
    h: 3600,
    d: 86400
  };
  // 匹配数字+单位的格式,自动兼容单位大小写
  const matchResult = timeStr.toLowerCase().match(/^(\d+)([smhd])$/);
  if (!matchResult) {
    return NaN; // 格式不匹配时返回NaN,可根据需求调整为抛出异常
  }
  const num = parseInt(matchResult[1], 10);
  const unit = matchResult[2];
  return num * unitMap[unit];
}

代码说明

  • 支持的单位包括:s(秒)、m(分钟)、h(小时)、d(天),如果需要支持周、月等单位,直接在unitMap中添加对应映射即可
  • 自动兼容大小写单位输入,比如1H、3D都可以正常识别转换
  • 当前默认只支持整数数值输入,如果需要支持小数(比如1.5h),可以把正则改为/^(\d+(?:\.\d+)?)([smhd])$/,同时把parseInt替换为parseFloat即可
  • 输入格式不匹配时默认返回NaN,你可以根据业务需求调整为抛出异常或者返回0等默认值

测试示例

let a = '1h';
let b = '3d';
a = to_number_of_seconds(a);
b = to_number_of_seconds(b);
console.log(a); // 输出 3600
console.log(b); // 输出 259200

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 08:06:04