2015-02-11 66 views
2

我有這兩個輸入:如何從輸入日期和時間輸入整Date對象在JavaScript

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

我想創建一個由兩個值的Date對象。類似這樣的:

​​

我該怎麼做?

+0

看看這裏http://www.w3schools.com/jsref/jsref_obj_date.asp – mindparse 2015-02-11 06:45:01

+0

@mindparse你能告訴我哪些方法中的哪一個需要年份和時間兩個參數? – 2015-02-11 06:51:09

回答

4

您可以手動將兩個日期一起添加到控制器中。如果你想讓它自動更新你的控制器範圍,那麼你可以使用一個監視表達式與日期算法相結合。例如:

$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或更高版本。早期版本不會讓您訪問模型中的日期。

2

使用以下格式。

如果小時,分鐘,秒,毫秒值未知,請給它們代替它們。

var d = new Date(year, month, day, hours, minutes, seconds, milliseconds); 

這裏變量'd'將返回日期對象,從中獲得紀元時間。

相關問題