输入[type = time]预计是一个日期

时间:2017-03-06 23:03:42

标签: javascript html angularjs

我有这样的输入:

 <input type="time" ng-model="reunion.startHour" name="time"
                           placeholder="HH:mm:ss" min="08:00:00" max="20:00:00" class="form-control"
                           id="time" required />

我从对象有字段time=08:00:00的服务器获取数据。我希望在加载页面时输入设置为该值。但是我收到此错误:

  

错误:[ngModel:datefmt]预期08:00:00为日期

现在我已经尝试过了:

$filter('date')(new Date(data.startHour), 'HH:mm');

但我得到invalid date

任何帮助将不胜感激。谢谢你

2 个答案:

答案 0 :(得分:0)

嗯,不幸的是,JS只用一段时间就不支持日期。 HH:mm不是有效的日期格式:https://www.w3schools.com/js/js_date_formats.asp

您既可以手动处理,也可以使用假日期作为您不关心的日期部分。

(我试图为你找到一个好的时间对象解决方案,但我不会在那里看到太多。希望其他人有更顺畅的解决方案。)

答案 1 :(得分:0)

适用于AngularJS 1.6

<input type="time" ng-model="startHour" name="time"
    placeholder="HH:mm:ss" min="08:00:00" max="20:00:00" class="form-control"
    id="time" required />

<br><p ng-show="startHour">{{startHour | date  : 'shortTime' }}</p>
<br><p ng-hide="startHour">Enter Valid Time</p>
app.controller("myVm",function($scope) {

  var vm = $scope;

  vm.startHour = new Date(0);
  vm.startHour.setHours(8);

});

DEMO on PLNKR.