javascript - 绑定(bind)到 Date() 对象时如何格式化 input[time] 的值

标签 javascript angularjs

我正在将一个变量绑定(bind)到时间类型的输入字段,但显示的格式是错误的。

它显示时间如下:08:54:30,088 我真正需要的是这样的格式:08:54

我尝试使用过滤器设置输入字段的值(value={{ datetime.date | date : 'HH:mm' }})但我的编辑说的是我的做法这是错误的。有什么想法吗?

这里是完整的代码:

HTML

 <input id="rep_time" class="form-control" type="time" ng-model="datetime.time" value={{ datetime.date | date : 'HH:mm' }}>

JS

 app.controller( 'newCtrl', function( $scope ) {  

     $scope.datetime = {
         date: new Date(),
         time: new Date()
       };
 } );

最佳答案

我通过稍微定义 Date() 对象来绕过这个问题。它有效,但我不喜欢这种双重定义的方式。

HTML

 <input class="form-control" type="date" ng-model="datetime.date" placeholder="yyyy-MM-dd" min="2016-01-01" required />

 <input class="form-control" type="time" ng-model="datetime.time">

JS

$scope.datetime = {
        date: new Date(),
        time: ''
    };

$scope.datetime.time = new Date(
            $scope.datetime.date.getFullYear(),
            $scope.datetime.date.getMonth() + 1,
            $scope.datetime.date.getDate(),
            $scope.datetime.date.getHours(),
            $scope.datetime.date.getMinutes() );

js更新

有了使用来自 Jimbrooism 的 $filter 的想法,我找到了一个更短的方法!

$scope.datetime = {
     date: new Date(),
     time: new Date( $filter( 'date' )( new Date(), 'yyyy-MM-dd HH:mm' ) )
   };

关于javascript - 绑定(bind)到 Date() 对象时如何格式化 input[time] 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36976716/

相关文章:

javascript - 如何调试Javascript代码或函数?

angularjs - 测试具有许多依赖项的 Angular Controller

javascript - 基于AngularJS中的数组数据动态创建表单?

AngularJS 选择 - 匹配第一个字符

javascript - 如何在 JavaScript 中创建嵌套菜单?

javascript - django自动检查我是否将它保存到数据库

javascript - 特定窗口的onload函数

angularjs - 具有依赖项的 registerModule

javascript - 仅当表单脏时才显示添加按钮

javascript - Javascript Map() 对象中项目的生命周期