angularJS今天设置为输入日期

时间:2014-05-23 15:45:52

标签: angularjs date input angular-ngmodel

我一直在尝试将日期设置为输入类型=" date"使用角度的模型和价值没有成功。我尝试使用有关输入日期的角度JS的文档,我唯一得到的是设置输入年份,日期和月份保留占位符值:" dd / mm / 2014"

我尝试了什么:

$scope.value = new Date(2013, 9, 22);

并在我的HTML中:

<input type="date" id="exampleInput" name="input" ng-model="value" placeholder="yyyy-MM-dd" min="2013-01-01" max="2013-12-31" required />

我得到的是输入日期:&#34; dd / mm / 2013&#34;

我尝试使用角度文档示例来确保我做得对,这是因为日期的最小值和最大值。

关于如何用今天的日期填写输入日期的任何想法?

提前致谢

4 个答案:

答案 0 :(得分:2)

$scope.value = new Date().toISOString().split("T")[0]; // 2014-05-23

用铬测试。

答案 1 :(得分:0)

日期格式需要有效ISO-8601 date format(yyyy-MM-dd)

// This won't work
new Date(2013, 9, 22); // Tue Oct 22 2013 00:00:00 GMT+1100 (EST)

试试这个:

new Date().toISOString().split("T")[0]; // "2014-09-30"

注意:toISOString()将返回UTC时区。

请参阅:https://docs.angularjs.org/api/ng/input/input%5Bdate%5D

答案 2 :(得分:0)

以上答案生成“错误:ngModel:datefmt 模型不是日期对象“,至少在角度为1.4.7。

稍作调整即可修复:

    $scope.value = new Date(new Date().toISOString().split("T")[0])

答案 3 :(得分:0)

我正在做以下事情,日期开始以mm / dd / yyyy格式显示 -

<input type="date" data-ng-model="value"  />

也在控制器中执行此操作:

$scope.value=new Date();
$scope.value =new Date($scope.value).toISOString().split("T")[0];