如何全局设置角矩时区
How to set angular moment timezone globally?
我在我的angular应用程序中使用了angular moment js。我想根据当前用户的时区显示日期和时间。我无法在我的应用程序上应用全局时区。
https://github.com/urish/angular-moment我试过了。
angular.module('myapp').constant('angularMomentConfig', {
timezone: 'Europe/London' // e.g. 'Europe/London'
});
In one of my view -
{{home.eventStart| amDateFormat:'dddd, MMMM Do YYYY, h:mm:ss a'}}
在我的一个控制器-
$scope.profile.eventStart = moment(data.start).format('YYYY-MM-DD hh:mm a');
在这两种情况下我都没有得到任何更改,即使在我设置了时区之后。我错过什么了吗?
设置常量后不能更改。因为注入不依赖于模块。常量或模块值,这应该可以达到目的:
angular.module('myapp').value('angularMomentConfig', {
timezone: 'Europe/London' // e.g. 'Europe/London'
});
timezone
为可选参数。如果省略它,它将自动使用本地机器的时区。这是moment.js和JavaScript Date
对象的默认行为。
我也有同样的问题。
这就是解决这个问题的方法。
你需要在你的项目中包含moment-timezone.js v0.3.0或更高版本,否则自定义时区功能将不可用。
这里的文档
从1.0.0-beta版本开始。1、可以使用amMoment服务设置时区。只需注入amMoment服务并调用changeTimeZone:
amMoment.changeTimezone('Europe/London');
app.run(['amMoment',
function (amMoment) {
amMoment.changeTimezone('Europe/Paris');
}
]);
相关文章:
- 在javascript函数中设置全局变量
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- 如何构建'瞬间'在非全局区域设置中工作的函数
- 分析特定区域设置(而不是时区!)中的日期字符串
- 在javascript函数的循环中设置全局布尔变量的最佳语法
- 使用JS检查用户是否在EST时区和设置的EST时间范围内
- 全局设置angular.js url根
- 从ngInit在AngularJS中全局设置自定义HTTP头
- 为时区设置 AngularJS 全局配置
- 创建全局设置超时变量
- 如何使用 JSLint 全局设置“使用严格”
- bootstrap日期选择器全局设置语言
- Chrome时区选项设置为Date.toLocaleString()
- Angular过滤器|全局设置格式化(最佳实践)
- 如何全局设置角矩时区
- JavaScript闭包使用全局设置对象或将其传递给每个函数
- 如何为端点做全局设置
- PHP全局设置URL并在每个页面中调用它
- 全局设置ajax请求的javascript变量
- asp.net mvc-在JavaScript中全局设置url