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

JavaScript中如何将日期时间字符串转换为时间戳实现日期比较

实现方案

首先你提供的time变量存在格式问题,推测是输入时漏写冒号的笔误,正确格式应为13:22:24.990。如果原始数据确实是13:2224.990的格式,需要先做格式校正,再拼接日期转时间戳,具体步骤如下:

  • 第一步:格式校正与拼接
let date = "30.09.2021";
let time = "13:2224.990";

// 校正时间格式:把13:2224.990转为13:22:24.990
const formatTime = (rawTime) => {
  const regRes = rawTime.match(/^(\d{2}):(\d{2})(\d{2})\.(\d{3})$/);
  return regRes ? `${regRes[1]}:${regRes[2]}:${regRes[3]}.${regRes[4]}` : rawTime;
}
const formattedTime = formatTime(time);

// 把日期从dd.mm.yyyy转为yyyy-mm-dd,适配Date对象解析规则
const [day, month, year] = date.split('.');
const fullTimeStr = `${year}-${month}-${day}T${formattedTime}`;
  • 第二步:转时间戳并比较
    时间戳是毫秒级的数字,直接用常规比较运算符对比即可:
// 转时间戳
const targetTimestamp = new Date(fullTimeStr).getTime();

// 比较示例,对比2021-10-01的时间戳
const compareTimestamp = new Date('2021-10-01T00:00:00.000').getTime();
console.log(targetTimestamp < compareTimestamp); // 输出true,代表目标时间更早

注意:如果转换后得到NaN,需要检查输入的日期、时间是否为合法值,比如月份是否在1-12区间、日期是否属于对应月份的合法取值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 17:24:08