Аналогичный вопрос здесь
Я перепубликую свой ответ и предложу слияние:
Выходное UTC кажется предметом некоторой путаницы - люди, похоже, тянутся к moment.js.
Заимствуя этот ответ, вы мог бы сделать что-то вроде этого (т.е. использовать функцию преобразования, которая создает дату с конструктором UTC) без 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>
вот плункер, чтобы поиграть с ним
См. Также this и this.
Также обратите внимание, что с помощью этого метода, если вы используете 'Z' из фильтра даты Angular, кажется, что он все равно будет печатать смещение вашего местного часового пояса.
person
ossek
schedule
14.02.2014