我有这两个输入:
<input type="date" ng-model="year">
<input type="time" ng-model="time">
我想从这两个值创建一个Date对象。像这样:
new Date(year, time);
我该怎么做?
答案 0 :(得分:3)
您可以在控制器中手动添加两个日期。如果要在控制器范围内自动更新,则可以将监视表达式与日期算法结合使用。例如:
$scope.$watchGroup(['year', 'time'], function (values) {
var year = values[0], time = values[1];
$scope.date = new Date(year.getYear(), year.getMonth(), year.getDay(), time.getHours(), time.getMinutes(), time.getSeconds(), time.getMilliseconds());
});
然后,您可以根据需要在示波器上使用date
,并且只要year
或time
发生更改,它就会自动更新。
请注意,input[type=date]
的内置支持仅适用于Angular 1.3.x或更高版本。早期版本不允许您访问模型中的日期。
答案 1 :(得分:2)
使用以下格式。
如果小时,分钟,秒,毫秒值未知,请给出&#39; 0&#39; 0代替他们。
var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);
这里的变量&#39; d&#39;将返回日期对象,您也可以从中获取纪元时间。