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

时间选择器调度报错:RangeError: Invalid time value 求助

问题修复方案

1. 解决时间选择器无法设置分钟的问题

根据你使用的时间选择器插件类型,调整配置参数:

  • 若使用Bootstrap Timepicker:
    $('#time-picker').timepicker({
        showMeridian: false,
        format: 'HH:mm', // 将原配置的timeFormat替换为format
        minuteStep: 1 // 支持每分钟选择,可按需改为5/15等步长
    });
    
  • 若使用jQuery UI Timepicker:
    $('#time-picker').timepicker({
        showMeridian: false,
        timeFormat: 'HH:mm',
        showMinutes: true, // 强制显示分钟选择控件
        minuteGrid: 10 // 可选:显示分钟选择网格
    });
    

2. 修复Invalid time value报错

报错根源是日期/时间未补前导零,导致new Date()解析失败。修改formatDateTime函数:

function formatDateTime(date, time) {
    console.log("Date input:", date);
    console.log("Time input:", time);

    const [month, day, year] = date.split('/');
    if (!month || !day || !year) {
        console.error('Invalid date format:', date);
        throw new RangeError('Invalid date format');
    }
    // 补前导零,确保月份、日期为两位数
    const paddedMonth = month.padStart(2, '0');
    const paddedDay = day.padStart(2, '0');

    const [hours, minutes] = time.split(':');
    if (!hours || !minutes) {
        console.error('Invalid time format:', time);
        throw new RangeError('Invalid time format');
    }
    // 补前导零,确保小时、分钟为两位数
    const paddedHours = hours.padStart(2, '0');
    const paddedMinutes = minutes.padStart(2, '0');

    // 生成标准ISO兼容的日期字符串
    const formattedDate = `${year}-${paddedMonth}-${paddedDay}T${paddedHours}:${paddedMinutes}:00`;
    console.log("Formatted Date-Time:", formattedDate);

    const dateTime = new Date(formattedDate);
    console.log("DateTime object:", dateTime);

    return dateTime;
}

验证步骤

  • 打开浏览器控制台,确认Time input输出包含分钟(如14:30而非14)。
  • 检查Formatted Date-Time是否为标准格式(如2024-05-20T14:30:00),确保所有时间分量均为两位数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 19:13:11