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

JavaScript如何为日期值的小时补前导零实现指定时间格式?

实现方法

方法1:正则快速替换(仅需补小时前导零时推荐)

直接对原始字符串做匹配替换,代码最轻量:

// 读取原始时间
const rawTime = $('#strDinnerStartTime').val();
// 匹配空格后单个数字加冒号的结构,给数字补前导零
const formattedTime = rawTime.replace(/ (\d):/, ' 0$1:');

说明:该正则只会匹配个位数小时的场景,两位小时的正常时间不会被修改,无需额外做兼容性判断。

方法2:Date对象格式化(后续有其他时间操作需求时推荐)

先将字符串解析为Date对象再按规则拼接,扩展性更强:

const rawTime = $('#strDinnerStartTime').val();
const date = new Date(rawTime);
// 前导零补全工具函数
const padZero = num => num.toString().padStart(2, '0');
// 按要求拼接格式
const month = padZero(date.getMonth() + 1);
const day = padZero(date.getDate());
const year = date.getFullYear();
const hour24 = date.getHours();
const hour12 = padZero(hour24 % 12 || 12);
const minute = padZero(date.getMinutes());
const second = padZero(date.getSeconds());
const period = hour24 >= 12 ? 'pm' : 'am';

const formattedTime = `${month}-${day}-${year} ${hour12}:${minute}:${second} ${period}`;

说明:只要原始时间字符串能被Date正常解析,不管原有格式有多少小差异,都能输出完全符合要求的统一格式。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:27:05