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

使用jQuery的flatpickr时,时间为何停留在12:00?

问题:设置Start Date为当前时间减7小时并限制End Date晚于Start Date

我卡这个问题3天了,试了各种办法都没解决。需求是把Start Date字段预设为当前日期/时间减7小时,同时End Date字段必须晚于Start Date,但现在Start Date的时间一直停在12:00。

  • 当前笔记本电脑日期/时间:04-08-2022 17:55:00
  • 减7小时后预期的Start Date值:04-08-2022 10:55:00

日期选择器界面

HTML代码

<div class="row">
    <div class="col-lg-12">
        <input type="text" class="form-control" id="startDateMain" placeholder="Start Date">
        <input type="text" class="form-control" id="endDateMain" placeholder="End Date">
    </div>
</div>

jQuery代码

$("#startDateMain").flatpickr({
    enableTime: true,
    altInput: true,
    dateFormat: "YYYY-MM-DD HH:mm:ss",
    altFormat: "DD-MM-YYYY HH:mm:ss",
    minuteIncrement: 1,
    minDate: moment().add(-7, 'hours').toDate(), // 这里是尝试设置的地方
    allowInput: true,
    parseDate: (datestr, format) => {
        return moment(datestr, format, true).toDate();
    },
    formatDate: (date, format, locale) => {
        return moment(date).format(format);
    },
});
$("#endDateMain").flatpickr({
    enableTime: true,
    altInput: true,
    dateFormat: "YYYY-MM-DD HH:mm:ss",
    altFormat: "DD-MM-YYYY HH:mm:ss",
    minuteIncrement: 1,
    allowInput: true,
    parseDate: (datestr, format) => {
        return moment(datestr, format, true).toDate();
    },
    formatDate: (date, format, locale) => {
        return moment(date).format(format);
    }
});
function formatDate(date, format) {
    const map = {
        mm: addZero(date.getMonth() + 1),
        dd: addZero(date.getDate()),
        yyyy: addZero(date.getFullYear()),
        h: addZero(date.getHours()),
        i: addZero(date.getMinutes()),
        s: addZero(date.getSeconds())
    }
    return format.replace(/mm|dd|yyyy|h|i|s/gi, matched => map[matched]);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 06:48:09