如何从输入日期和输入时间获取整个Date对象在javascript中

时间:2015-02-11 06:39:03

标签: javascript angularjs

我有这两个输入:

<input type="date" ng-model="year">
<input type="time" ng-model="time">

我想从这两个值创建一个Date对象。像这样:

new Date(year, time);

我该怎么做?

2 个答案:

答案 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,并且只要yeartime发生更改,它就会自动更新。


请注意,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;将返回日期对象,您也可以从中获取纪元时间。