我在角度应用中使用了角度矩js。我想根据当前用户的时区显示日期和时间。我无法在我的应用上全局应用时区。
https://github.com/urish/angular-moment
我试过了。
angular.module('myapp').constant('angularMomentConfig', {
timezone: 'Europe/London' // e.g. 'Europe/London'
});
在我的一个观点中 -
{{home.eventStart| amDateFormat:'dddd, MMMM Do YYYY, h:mm:ss a'}}
在我的一个控制器中 -
$scope.profile.eventStart = moment(data.start).format('YYYY-MM-DD hh:mm a');
即使我设置了时区,我也没有在这两种情况下都进行任何更改。我错过了什么吗?
答案 0 :(得分:4)
设置后无法更改常量。由于注入不依赖于module.constant或模块值,这应该可以解决问题:
angular.module('myapp').value('angularMomentConfig', {
timezone: 'Europe/London' // e.g. 'Europe/London'
});
答案 1 :(得分:1)
timezone
参数是可选的。如果省略它,它将自动使用本地计算机的时区。这是moment.js和JavaScript Date
对象的默认行为。
答案 2 :(得分:1)
从版本1.0.0-beta.1开始,可以使用 amMoment 服务设置时区。只需注入amMoment服务并调用changeTimeZone:
amMoment.changeTimezone('Europe/London');
答案 3 :(得分:0)
答案 4 :(得分:-1)
app.run(['amMoment',
function (amMoment) {
amMoment.changeTimezone('Europe/Paris');
}
]);