JQuery 日期选择器 - 从开始日期设置结束日期

问题描述 投票:0回答:4
javascript jquery jquery-ui datepicker
4个回答
2
投票

如果您想更改另一个日期选择器的日期选择器添加一天,您可以执行以下操作:

注意 selectedDate 的格式为 dd/mm/YYYY,这不是在 Date 构造函数中使用的有效字符串日期格式。然后你必须解析它。

        var arr = selectedDate.split("/");
        var date = new Date(arr[2]+"-"+arr[1]+"-"+arr[0]);
        var d = date.getDate();
        var m = date.getMonth();
        var y = date.getFullYear();
        var minDate = new Date(y, m, d + 1);
        $("#EndDate").datepicker('setDate', minDate);

这里有一个工作示例fiddle


1
投票

这里我只让用户选择10天的间隔..您可以根据您的要求进行修改。

$(document).ready(function() {
    var minDate ;
    var maxDate;
    var mDate
    var j = jQuery.noConflict();
    j( "#startTime" ).datepicker({
    onSelect: function() {
    minDate = j( "#startTime" ).datepicker("getDate");
    var mDate = new Date(minDate.setDate(minDate.getDate()));
    maxDate = new Date(minDate.setDate(minDate.getDate() + 10));
j("#endTime").datepicker("setDate", maxDate);
j( "#endTime" ).datepicker( "option", "minDate", mDate);
j( "#endTime" ).datepicker( "option", "maxDate", maxDate);
}
});
var tdate = new Date();
var ddate = new Date(tdate.setDate(tdate.getDate() + 10));
j("#startTime").datepicker("setDate", new Date());
j( "#endTime" ).datepicker();
j("#endTime").datepicker("setDate",ddate);
  });
 <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script><div>Please Select Dates:</div>
	 <p>Strat Date:<input id ="startTime" type="text" ></input></p>
	 <p>End Date:<input id ="endTime" type="text" ></input></p>


0
投票

您可以使用 setDategetDate

示例:

<input id="StartDate" class="datepicker setNext hasDatepicker" type="text" value="13/02/2015" name="StartDate">
<script>
function convertInputtoDate(){
    var input = document.getElementById("StartDate").value;
    var date = input.split('/');
    var selectdate = new Date(date[2], date[1], date[0]);

    return selectdate;
}
var today = convertInputtoDate();
var tomorrow = new Date(convertInputtoDate());
tomorrow.setDate(today.getDate() + 1);
alert('Today : ' + today + ' Tommorow :' + tomorrow.toLocaleString());
</script>

如果您想更改日期格式,请使用:

tomorrow.toLocaleString(); // output will be : d/m/Y H:M:S

并将您的输入转换为日期:

function convertInputtoDate(){
    var input = document.getElementById("StartDate").value;
    var date = input.split('/');
    var selectdate = new Date(date[2], date[1], date[0]);

    return selectdate;
}

0
投票

你甚至可以使用这样的东西。

 jQuery(function() {
  jQuery('#date-range').daterangepicker({
    startDate: moment(),
    endDate: moment(),
    timePicker: true,
    timePicker24Hour: true,
    timePickerIncrement: 15,
    locale: {
      format: 'M/DD/YYYY h:mm A'
    }
  });
});
<!-- jQuery -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

<!-- Moment.js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>

<!-- Date Range Picker -->
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.css" />
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.min.js"></script>
<label for="date-range">Date Range:</label>
<input type="text" id="date-range" name="date-range" />

   

© www.soinside.com 2019 - 2024. All rights reserved.