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

如何使用JavaScript从时间戳提取当日非工作小时区间

完全可以通过JavaScript实现,具体实现方案如下:

实现思路
  1. 先将Unix时间戳(单位为秒)转换为JavaScript Date对象(注意要乘以1000转成毫秒单位)
  2. 从工作起止时间的Date对象中提取对应小时数
  3. 封装两个非工作时段的规则,匹配需求的禁用区间
完整可运行代码
// 输入的工作时段Unix时间戳(单位:秒)
const from = 1633935600;
const to = 1633968000;

// 转成Date对象
const fromDate = new Date(from * 1000);
const toDate = new Date(to * 1000);

// 提取工作起止小时
const workStartHour = fromDate.getHours();
const workEndHour = toDate.getHours();

// 生成禁用时段规则,可根据业务需要调整返回格式(比如返回完整时间戳、时分格式等)
const disableRanges = [
  {
    desc: "00:00至工作开始时段",
    startHour: 0,
    endHour: workStartHour
  },
  {
    desc: "工作结束时段至23:59",
    startHour: workEndHour,
    endHour: 24
  }
];

// 测试输出
console.log("工作开始小时:", workStartHour); // 输出 9
console.log("工作结束小时:", workEndHour); // 输出 18
console.log("禁用时段:", disableRanges);
注意事项
  • 如果你需要使用UTC标准时间而非本地时区的小时,把getHours()替换为getUTCHours()即可
  • 如果业务要求精确到分钟而非整小时,可以额外调用getMinutes()方法提取分钟数做更细粒度的区间判断
  • 若你的时间戳可能存在跨天的情况,建议先通过toDateString()判断from和to是否属于同一天,避免提取的小时属于不同日期导致规则错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 21:54:02