изменение даты в соответствии с днями, но другой месяц не работает - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть следующая функция, которую я использовал для изменения даты в соответствии с моими днями, когда я работал в этом месяце, она работает нормально, но когда я выбираю октябрь, она показывает неправильную дату.я провожу 4 часа в этом, но безуспешно, помогите мне, пожалуйста,

     <div class="col-md-3">
   <label>In Date</label>
   <div class="input-group date form_date " data-date="" data-date-format="dd-mm-yyyy" data-link-field="dtp_input2" data-link-format="yyyy-mm-dd">
  <input ng-model="HotelInDate" autocomplete="off" id="InDate" class="form-control input-height" placeholder="Date" type="text">
 <span class="input-group-addon"><span class="fa fa-calendar"></span></span>
  </div>
  </div>

 <div class="col-md-2">
<label for="exampleInputEmail1">Nights</label>
 <input ng-change="OutDate()" autocomplete="off" ng-model="HotelDetail.Nights" type="text" class="form-control"  placeholder="0">

 </div>
  <div class="col-md-3">
   <label for="exampleInputEmail1">Out Date</label>
   <input readonly ng-model="MyOutdate" autocomplete="off" id="OutDate" class="form-control input-height" placeholder="Date" type="text">

 </div>

JS CODE

 $scope.OutDate = function () {
        var InDate = document.getElementById('InDate').value;
        var reversed = InDate.split('-').reverse().join('-');
        $scope.mydate = new Date(reversed);
        var modified = new Date();
      var nights =  parseInt($scope.HotelDetail.Nights, 10);
      modified.setDate($scope.mydate.getDate() + nights);
      var outdate = modified.toISOString().slice(0, 10);
      var reversedoutdate = outdate.split('-').reverse().join('-');
      $scope.MyOutdate = reversedoutdate;

    }

October Wrong Date

enter image description here

1 Ответ

0 голосов
/ 17 сентября 2018

Нет необходимости получать новую дату в вашем сценарии

 $scope.OutDate = function () {
        var InDate = document.getElementById('InDate').value;
        var reversed = InDate.split('-').reverse().join('-');
        $scope.mydate = new Date(reversed);
      var nights =  parseInt($scope.HotelDetail.Nights, 10);
      $scope.mydate.setDate($scope.mydate.getDate() + nights);
      var outdate = $scope.mydate.toISOString().slice(0, 10);
      var reversedoutdate = outdate.split('-').reverse().join('-');
      $scope.MyOutdate = reversedoutdate;

    }
...