Проблема сравнения даты начала и окончания - PullRequest
0 голосов
/ 14 февраля 2019

Если бы я использовал формат даты «ММ / ГГГГ», как это, то он будет работать правильно, но я хотел использовать формат даты, такой как «М / ГГГГ».Как это сравнить?

Ниже код работает правильно, но я хотел использовать формат даты 'm / yyyy', как это.

$('#card_form_plan_start_date').datepicker({
  format: 'MM/yyyy',
  autoclose: true,
  viewMode: 'months', 
  minViewMode: 'months'
});

$('#card_form_plan_start_date').datepicker().on(
      'change',
      function() {
        $('#card_form_plan_end_date').val('');
        $('#card_form_plan_end_date').removeAttr("disabled");
        $('#card_form_plan_end_date').datepicker("destroy");
        var newStart = new Date($(this).val());
alert($(this).val());        
newStart.setDate(newStart.getDate());

        $('#card_form_plan_end_date').datepicker({
            startDate : newStart,
            format: 'MM/yyyy',
              autoclose: true,
              viewMode: 'months', 
              minViewMode: 'months'
        });
});

Конечный месяц начинается с начального месяца, если яиспользовать формат даты как «ММ / ГГГГ», как это сделать с «М / ГГГГ»?

1 Ответ

0 голосов
/ 14 февраля 2019

вместо var newStart = new Date($(this).val()); попробуйте использовать код ниже в вашем js

var comDate = $(this).val().split('/'); 
var newStart = new Date(comDate[1], comDate[0], 1);

$(document).ready(function() {
    $('#card_form_plan_start_date').datepicker({
  format: 'm/yyyy',
  autoclose: true,
  viewMode: 'months', 
  minViewMode: 'months'
});

$('#card_form_plan_start_date').datepicker().on(
      'change',
      function() {
        $('#card_form_plan_end_date').val('');
        $('#card_form_plan_end_date').removeAttr("disabled");
        $('#card_form_plan_end_date').datepicker("destroy");
        //var newStart = new Date($(this).val());  
        //newStart.setDate(newStart.getMonth());
        var comDate = $(this).val().split('/'); 
        var newStart = new Date(comDate[1], comDate[0], 1);
        $('#card_form_plan_end_date').datepicker({
            startDate : newStart,
            format: 'm/yyyy',
              autoclose: true,
              viewMode: 'months', 
              minViewMode: 'months'
        });
});
});
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/css/bootstrap-datepicker.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/js/bootstrap-datepicker.js"></script>

 <div class="container">
	

    <div class="row">
   
        <div class="col-sm-6">
            <div class="input-group date">
      <input type="text" id="card_form_plan_start_date" class="form-control timepicker" name="card_form_plan_start_date"> <input type="text" id="card_form_plan_end_date" class="form-control timepicker" name="card_form_plan_end_date">
                <div class="input-group-addon">
                    <span class="glyphicon glyphicon-th"></span>
                </div>
            </div>
        </div>
    </div>


</div>
...