如何格式化angularjs中的日期

use*_*r16 137 format date date-format angularjs datefilter

我想将日期格式化为mm/dd/yyyy.我尝试了以下内容,但没有一个适合我.谁能帮我这个?

参考:ui-date

<input ui-date ui-date-format="mm/dd/yyyy" ng-model="valueofdate" /> 

<input type="date" ng-model="valueofdate" />
Run Code Online (Sandbox Code Playgroud)

Jim*_*ert 197

Angular.js有一个内置的日期过滤器.

演示

// in your controller:
$scope.date = '20140313T00:00:00';

// in your view, date property, filtered with date filter and format 'MM/dd/yyyy'
<p ng-bind="date | date:'MM/dd/yyyy'"></p>

// produces
03/13/2014
Run Code Online (Sandbox Code Playgroud)

您可以在日期过滤器的源中查看支持的日期格式.

编辑:

如果你想在datepicker中获得正确的格式(不清楚你是使用datepicker还是只是尝试使用它的格式化程序),那些支持的格式字符串就在这里:https://api.jqueryui.com/datepicker/

  • 服务器返回我 '20140313T00:00:00,我想在这样的输入中以 mm/dd/yyyy 格式显示 - &lt;input type=date" ng-model="mydate"&gt; (2认同)

Kai*_*las 93

如果您没有输入字段,而只是想显示具有正确格式的字符串日期,您可以简单地选择:

<label ng-bind="formatDate(date) |  date:'MM/dd/yyyy'"></label>
Run Code Online (Sandbox Code Playgroud)

并在js文件中使用:

    // @Function
    // Description  : Triggered while displaying expiry date
    $scope.formatDate = function(date){
          var dateOut = new Date(date);
          return dateOut;
    };
Run Code Online (Sandbox Code Playgroud)

这会将字符串中的日期转换为javascript中的新日期对象,并以MM/dd/yyyy格式显示日期.

输出: 2014年12月15日

编辑
如果您使用格式为"2014-12-19 20:00:00"字符串格式的字符串日期(从PHP后端传递),则应将代码修改为:https://stackoverflow.com /一个/一百九万四千四百七十九分之二千七百六十一万六千三百四十八

进一步添加
从javascript您可以将代码设置为:

$scope.eqpCustFields[i].Value = $filter('date')(new Date(dateValue),'yyyy-MM-dd');
Run Code Online (Sandbox Code Playgroud)

如果您已经与您约会,否则您可以使用以下代码获取当前系统日期:

$scope.eqpCustFields[i].Value = $filter('date')(new Date(),'yyyy-MM-dd');
Run Code Online (Sandbox Code Playgroud)

有关日期格式的更多详细信息,请参阅:https: //docs.angularjs.org/api/ng/filter/date


Rav*_*dra 26

我正在使用它,它工作正常.

{{1288323623006 | date:'medium'}}: Oct 29, 2010 9:10:23 AM
{{1288323623006 | date:'yyyy-MM-dd HH:mm:ss Z'}}: 2010-10-29 09:10:23 +0530
{{1288323623006 | date:'MM/dd/yyyy @ h:mma'}}: 10/29/2010 @ 9:10AM
{{1288323623006 | date:"MM/dd/yyyy 'at' h:mma"}}: 10/29/2010 at 9:10AM
Run Code Online (Sandbox Code Playgroud)


dre*_*w_w 18

这不是你要求的 - 但你可以尝试在html中创建一个日期输入字段,例如:

<input type="date" ng-model="myDate" />
Run Code Online (Sandbox Code Playgroud)

然后在您将使用的页面上打印它:

<span ng-bind="convertToDate(myDate) | date:'medium'"></span>
Run Code Online (Sandbox Code Playgroud)

最后,在我的控制器中,我声明了一个从输入值创建日期的方法(在chrome中显然解析了1天):

$scope.convertToDate = function (stringDate){
  var dateOut = new Date(stringDate);
  dateOut.setDate(dateOut.getDate() + 1);
  return dateOut;
};
Run Code Online (Sandbox Code Playgroud)

所以你有它.要查看整个工作,请参阅以下plunker:http://plnkr.co/edit/8MVoXNaIDW59kQnfpaWW?p=preview .祝你好运!


小智 10

这将有效:

{{ oD.OrderDate.replace('/Date(','').replace(')/','') | date:"MM/dd/yyyy" }}
Run Code Online (Sandbox Code Playgroud)

注意:一旦您更换这些,剩余的日期/毫米将转换为给定的foramt.


Edd*_*ddy 9

请参阅angular dateapi:AngularJS API:date


角度 - date过滤器:

用法:

{{ date_expression | date  [: 'format']  [: 'timezone' ] }}
Run Code Online (Sandbox Code Playgroud)


Exampe:

码:

 <span>{{ '1288323623006' | date:'MM/dd/yyyy' }}</span>
Run Code Online (Sandbox Code Playgroud)

结果:

10/29/2010
Run Code Online (Sandbox Code Playgroud)


小智 5

我用过滤器

.filter('toDate', function() {
  return function(items) {
    return new Date(items);
  };
});
Run Code Online (Sandbox Code Playgroud)

然后

{{'2018-05-06 09:04:13' | toDate | date:'dd/MM/yyyy hh:mm'}}
Run Code Online (Sandbox Code Playgroud)