日期根据天数变化但其他月份不起作用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了日期根据天数变化但其他月份不起作用相关的知识,希望对你有一定的参考价值。
我有以下功能我根据我的日期用于日期更改它工作正常,当我使用这个月,但当我选择10月份它显示我错误的日期。我花了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代码
$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;
}
答案
无需在您的方案中获取新日期
$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;
}
以上是关于日期根据天数变化但其他月份不起作用的主要内容,如果未能解决你的问题,请参考以下文章