我必须根据记录的用户时区将我的日期转换为不同的时区
我试过了
$scope.currentDate = Date.now();
$scope.tz = 'America/New_York';
在视图中,我这样称呼{{currentDate | date:'h:mm a' : t}}
但它没有用。,..我怎么能实现这个目标?
答案 0 :(得分:0)
var app = angular.module('app', []);
app.controller('mainCtrl', function($scope) {
var now = moment(new Date());
$scope.currentDate = now.tz('America/New_York').format('hh:mm a');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/moment.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.4/moment-timezone-with-data-2010-2020.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.9/angular.min.js"></script>
<div ng-app='app'>
<div ng-controller='mainCtrl'>
<h4>{{ currentDate }}
</h4>
</div>
</div>
答案 1 :(得分:0)
很容易
在HTML模板绑定中
{{ date_expression | date : format : timezone}}
在JavaScript中
$filter('date')(date, format, timezone)
答案 2 :(得分:0)
像这样使用:
{{currentDate | date:'h:mm a' : '+500'}}
否则制作一个过滤器来格式化日期,该日期将使用时刻格式化为任何格式和时区,如下所示:
inputFormat = "YYYY-MM-DD'T'HH:mm:ssZ"
moment(input, inputFormat).format(outputFormat)