使用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
相关产品推荐
相关产品推荐

