Ani*_*nha 5 javascript datetime angularjs
我有两个输入标签,用于从用户中选择日期和时间.
<p>Start Date</p><p> <input ng-model="sdate" type="date" ></p>
<p>Start Time</p><p> <input ng-model="stime" type="time" ></p>
Run Code Online (Sandbox Code Playgroud)
这两个值传递给我想要将这两个输入值组合为一个Date对象的函数:
new Date(y, m, d, hh, mm, a)
Run Code Online (Sandbox Code Playgroud)
然后我可以使用它在日历中绘制事件的详细信息.我如何结合这两个值?我试过了:
start:new Date(sdate + stime)
start:new Date(sdate , stime)
start: new Date(sdate.getFullYear() + sdate.getMonth() + sdate.getDate() + stime.getHours + stime.getMinutes())
Run Code Online (Sandbox Code Playgroud)
但我所尝试的一切都没有奏效.
使用AngularJS时如何实现这一目标?
在角度,它会像这样:
控制器:
function exampleController($scope) {
$scope.title = "$Watch sample";
$scope.$watch('sdate', function() {
tryCombineDateTime();
});
$scope.$watch('stime', function() {
tryCombineDateTime();
});
function tryCombineDateTime() {
if($scope.sdate && $scope.stime) {
var dateParts = $scope.sdate.split('-');
var timeParts = $scope.stime.split(':');
if(dateParts && timeParts) {
dateParts[1] -= 1;
$scope.fullDate = new Date(Date.UTC.apply(undefined,dateParts.concat(timeParts))).toISOString();
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
HTML
<div ng-app ng-controller="exampleController">
<h2>{{title}}</h2>
<p>Start Date</p><p> <input ng-model="sdate" type="date" ></p>
<p>Start Time</p><p> <input ng-model="stime" type="time" ></p>
{{fullDate}}
</div>
Run Code Online (Sandbox Code Playgroud)
你需要在变量上使用$ watch监听器,然后调用你的函数.
注意:如果您为此制定指令会更好.
| 归档时间: |
|
| 查看次数: |
8748 次 |
| 最近记录: |