【问题标题】:How to change value notation of date input field in AngularJS如何更改AngularJS中日期输入字段的值表示法
【发布时间】:2015-06-24 12:45:37
【问题描述】:

我想将日期输入字段的格式从 dd/mm/yyy 更改为 dd.mm.yyyy 是否有可能以及如何以及是否有机会让该日期选择器也可以在其他浏览器中工作?

<body ng-app="myApp">
    <div ng-controller="MyCtrl">
      <input type="date" ng-model="date" value="{{date}}">
        <p>{{date}}</p>
      <input type="time" ng-model="time" value="{{time}}">    
    </div>

【问题讨论】:

  • 这不是 AngularJS 问题本身,而是特定于浏览器的问题。基本上,该值始终采用 ISO 格式 (YYYY-MM-DD),而显示的日期(在弹出窗口中)是根据系统/浏览器区域设置格式化的。
  • @Sami 也许这thread 有帮助。

标签: javascript angularjs date


【解决方案1】:

您可以使用自定义过滤器,如下所示

        <div ng-app="myApp">
           <div ng-controller="myCtrl">
             <p>{{date | divideByPoint}}</p> // displays as dd.mm.yyyy(21.12.2014)
          </div>
       </div>

下面的过滤器:divideByPoint

      var app = angular.module('myApp',[]);

 //controller
      app.controller('myCtrl',myCtrl);

         myCtrl.$inject = ["$scope"];

         function myCtrl($scope){
            $scope.date = "21/12/2014"
       }

  //filter

    app.filter('divideByPoint',function(){

     var pattern = /\//g;  
        return function(input) {
              return input.replace(pattern,'.');
           }

     })

https://jsfiddle.net/shushanthp/9yes55L5/

【讨论】:

  • 如何使用 input type="date" 的过滤器?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 2019-07-10
相关资源
最近更新 更多