我正在使用日期过滤器以某种格式呈现unix时间戳.我注意到过滤器将本地时区添加到输出中.
输入:
talk.content.date_and_time = 1400167800
(是05/15/14 @ 3:30:00 pm UTC)
码:
{{talk.content.date_and_time*1000 | date:'dd-M-yyyy H:mm Z'}}
输出:
15-5-2014 17:30 +0200
如何输出15:30而不是17:30?
‘Z’是添加时区信息的内容.至于输出UTC,这似乎是一些混乱的主题 – 人们似乎倾向于
moment.js.
借用这个answer,你可以在没有moment.js的情况下做这样的事情:
调节器
var app1 = angular.module('app1',[]); app1.controller('ctrl',['$scope',function($scope){ var toUTCDate = function(date){ var _utc = new Date(date.getUTCFullYear(),date.getUTCMonth(),date.getUTCDate(),date.getUTCHours(),date.getUTCMinutes(),date.getUTCSeconds()); return _utc; }; var millisToUTCDate = function(millis){ return toUTCDate(new Date(millis)); }; $scope.toUTCDate = toUTCDate; $scope.millisToUTCDate = millisToUTCDate; }]);
模板
<html ng-app="app1"> <head> <script data-require="angular.js@*" data-semver="1.2.12" src="http://code.angularjs.org/1.2.12/angular.js"></script> <link rel="stylesheet" href="style.css" /> <script src="script.js"></script> </head> <body> <div ng-controller="ctrl"> <div> utc {{millisToUTCDate(1400167800) | date:'dd-M-yyyy H:mm'}} </div> <div> local {{1400167800 | date:'dd-M-yyyy H:mm'}} </div> </div> </body> </html>
这是plunker玩它
另请注意,使用此方法,如果使用Angular的日期过滤器中的“Z”,它似乎仍将打印您的本地时区偏移量.