我已经制作了输入文本框,使用
选择日历和时间 [(ngModel)]="toDateTransaction" useValueAsDate
。
现在我想将所选日期与当前日期(今天的日期)进行比较。怎么做到这一点。我用了
let currentDate = Date.now();
但它给出了奇怪的输出。我想在angular4和node.js中使用
答案 0 :(得分:1)
如果您使用ngModel
语法对[]
进行单向绑定,则更改组件类中域模型的值将在视图中设置值。如果您使用[(ngModel)]
语法进行双向绑定(也称为' banana-box syntax'),则UI中的值将始终同步回您班级中的域模型好。
[(ngModel)]
语法只能设置数据绑定属性。如果您需要做更多或不同的事情,可以编写扩展表单
ngModel
数据属性设置元素的value属性,ngModelChange
事件属性侦听元素值的更改
HTML:
<input type="date" #ref [ngModel]="toDateTransaction" (ngModelChange)="onCompareDate(ref.value)">
组件:
onCompareDate(olddate):boolean{
let date1 = new Date(olddate);
let date2 = new Date();//your logic
return date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth() && date1.getDate() === date2.getDate();
}
答案 1 :(得分:0)
你比较这样的日期(例子):
date1 = new Date();
date2 = new Date(date1);
date1.getDate() === date2.getDate()
答案 2 :(得分:-1)
这应该可以解决您的问题,如果可以的话,我可以清楚地了解您的问题。
angular.module('dateInputExample', [])
.controller('DateController', ['$scope', function($scope) {
$scope.example = {
value: new Date()
};
}]);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<form name="myForm" ng-controller="DateController as dateCtrl">
<label for="exampleInput">Pick a date:</label>
<input type="date" id="exampleInput" name="input" ng-model="toDateTransaction"
placeholder="yyyy-MM-dd" min="2018-01-01" max="2025-12-31" required />
</form>
&#13;
您可以阅读更多表格ngModel