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

如何从Unix时间戳中提取仅代表时间的Unix数值?

从Unix时间戳提取当日时间对应的Unix数值

要实现这个需求,核心是计算目标时间戳对应本地时区当日0点的时间戳,再用原时间戳减去该值,得到的结果就是当日时分秒对应的秒数(即你要的"仅代表当日时间的Unix数值")。

以下是JavaScript的实现代码:

function extractTime(timeStamp) {
  // 将秒级时间戳转为毫秒(JS Date对象以毫秒为单位)
  const date = new Date(timeStamp * 1000);
  // 创建当日0点的Date对象
  const startOfDay = new Date(date.getFullYear(), date.getMonth(), date.getDate());
  // 转换为秒级时间戳
  const startOfDayUnix = Math.floor(startOfDay.getTime() / 1000);
  // 原时间戳减去当日0点时间戳,得到当日时间的秒数
  return timeStamp - startOfDayUnix;
}

// 测试示例
const timeStamp = 1671682809; // 2022年12月22日星期四 上午11:20:09 GMT+07:00
const unixTimeOnly = extractTime(timeStamp);
console.log(unixTimeOnly); // 输出 40809,对应11*3600 + 20*60 + 9 = 40809

关键说明:

  • 代码默认基于本地时区计算当日0点,和你示例中的GMT+07:00时区匹配,确保结果准确。
  • 如果需要基于UTC时区计算(忽略本地时区),只需把日期获取方法替换为UTC版本:
    const startOfDay = new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()));
    

内容的提问来源于stack exchange,提问作者Hoài Vũ Lê

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 00:25:21