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

如何在JavaScript中使用.replace或其他方法提取不带秒的时间?

解决方案

这里提供几种简单的方法来提取不带秒的时间部分:

方法1:正则表达式配合replace

利用正则捕获小时和分钟的部分,替换掉其他内容:

const dateStr = "Monday Jan 23 10:14:27 2024";
const result = dateStr.replace(/.*(\d{2}:\d{2}):\d{2}.*/, "$1");
console.log(result); // 输出 "10:14"

正则说明:

  • .* 匹配任意数量的任意字符(覆盖日期字符串开头的星期、月份、日期)
  • (\d{2}:\d{2}) 捕获两位小时加两位分钟的部分(这是我们要保留的内容)
  • :\d{2} 匹配秒数部分(会被替换掉)
  • 最后的.* 匹配剩余的年份内容

方法2:字符串拆分(无需正则)

如果日期格式固定,直接拆分字符串更直观:

const dateStr = "Monday Jan 23 10:14:27 2024";
// 按空格拆分字符串,取第4个元素(索引3)就是完整时间
const fullTime = dateStr.split(" ")[3];
// 再按冒号拆分,取前两部分拼接
const result = fullTime.split(":").slice(0, 2).join(":");
console.log(result); // 输出 "10:14"

方法3:使用Date对象(兼容性需注意)

如果需要处理更复杂的日期场景,可以借助Date对象提取时分:

const dateStr = "Monday Jan 23 10:14:27 2024";
const date = new Date(dateStr);
// 确保小时和分钟是两位数格式
const hours = String(date.getHours()).padStart(2, "0");
const minutes = String(date.getMinutes()).padStart(2, "0");
const result = `${hours}:${minutes}`;
console.log(result); // 输出 "10:14"

注意:部分浏览器对非标准日期字符串的解析可能存在差异,这种方法更适合格式规范的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 13:57:32