引导时间选取器将小时数添加到默认时间

Bootstrap timepicker add hours to default time

本文关键字:时间 添加 小时 默认 选取      更新时间:2023-09-26

我正在使用引导时间选择器(https://jdewit.github.io/bootstrap-timepicker/)进行2个输入:start_dateend_date。如我所见,开始日期具有默认值,并且是最接近的 :00 或 :30 分钟。我希望end_date默认具有最接近的 :00 或 :30 分钟 + 1 小时。我怎样才能做到这一点?

    $('.timepicker-input-end').timepicker({
        showInputs: false,
        defaultTime: ????
    });

如果你有javascript日期对象,它应该很简单:

var defDate = new Date ();
// you can do 00 or 30 min logic here
defDate.setHours(defDate.getHours() + 1);
$('.timepicker-input-end').timepicker({
    showInputs: false,
    defaultTime: defDate.toString("hh:mm tt")
});

更新:由于您使用 12 小时格式的时间选择器,因此您可以使用 datejs 轻松转换时间。

我认为这是最简单的解决方案,我忘记了完整的日历库使用时刻。

    $('.timepicker-input-end').timepicker({
        showInputs: false,
        defaultTime: moment($('input[name="appointment[start_time]"]').val(), "hh:mm TT").add(30, 'minutes').format("hh:mm A")
    });

你觉得怎么样?

var currentDate = new Date();
        var day = currentDate.getDate();
        var month = currentDate.getMonth() + 1;
        var year = currentDate.getFullYear();
        todayDateReport = year + "-" + month + "-" + day;
        $("#currentDate").html(todayDateReport);
        startDate = todayDateReport + " 00:00:00";
        endDate =   todayDateReport + " 01:00:00";
        $("#startDateInput").val(startDate);
        $("#endDateInput").val(endDate);
$('#startDate').datetimepicker({
         format: 'YYYY-MM-DD HH:mm:ss',
         collapse:false,
         sideBySide:true,
         useCurrent:false,
         showClose:true,
         maxDate : currentDate
     });
     $('#endDate').datetimepicker({
         format: 'YYYY-MM-DD HH:mm:ss',
         collapse:false,
         sideBySide:true,
         useCurrent:false,
         showClose:true,
     });