Angularjs 角度转换-格式日期
我正在使用Angular translate进行我的应用程序本地化。我想根据用户的区域设置动态更改日期格式Angularjs 角度转换-格式日期,angularjs,localization,date-formatting,angular-translate,Angularjs,Localization,Date Formatting,Angular Translate,我正在使用Angular translate进行我的应用程序本地化。我想根据用户的区域设置动态更改日期格式 如果区域设置为法语:格式为dd/mm/yyyy 如果区域设置为英语/美国:格式为mm/dd/yyyy …依此类推,具体取决于区域设置的默认日期格式 如何(干净地)通过角度翻译实现这一点?也许我已经过时了,但我不认为角度翻译与本地化有任何关系。因此,这里是我的解决方案(但它非常干净) 如果你每页只加载一次,重新加载就足够了。安装js文件并将其放入HTML中 bower安装angular-
- 如果区域设置为法语:格式为
dd/mm/yyyy
- 如果区域设置为英语/美国:格式为
mm/dd/yyyy
- …依此类推,具体取决于区域设置的默认日期格式
如何(干净地)通过角度翻译实现这一点?也许我已经过时了,但我不认为角度翻译与本地化有任何关系。因此,这里是我的解决方案(但它非常干净) 如果你每页只加载一次,重新加载就足够了。安装js文件并将其放入HTML中
bower安装angular-i18n
<script src="/bower_components/angular-i18n/angular-locale_YOUR-LOCALE.js"></script>
你的js:
angular.module('myApp', ['tmh.dynamicLocale', ...])
angular.module('myApp').controller('myController', [..., 'tmhDynamicLocale',
function… {
tmhDynamicLocale.set('en');
}
])
请注意,请务必检查repo的自述文件,以了解
localeLocationPattern(string)
是的,有一种非常简单的方法。。
不确定它是否干净,但可以被弄干净
你可以使用angular translate提供的插值
,问题是你不能在插值字符串中使用函数
,但是你可以做一些很酷的事情。。
在要插值的对象内传递一个函数,并在插值时调用该函数
说你需要输入日期
{{ 'date' | translate:{date:"28/01/2016"} }}
//instead of this
{{ 'date' | translate:'{date:"28/01/2016",func: func}' }}//func comes from scope.
在您的$translateProvider.translations中
$translateProvider.translations('en',{
'date': "{{func(date)}}"
});
这是我最后使用and结束的。
可以使用以下命令将日期格式化为区域设置默认值:
<td>{{user.lastLogin | amDateFormat:'l LT'}}</td>
不要忘记为您希望支持的语言导入即时语言环境文件:
<script src="assets/global/plugins/moment.min.js"></script>
<script src="jslib/angular-moment.min.js"></script>
<script src="jslib/moment/de.js"></script>
<script src="jslib/moment/es.js"></script>
<script src="jslib/moment/fr.js"></script>
<script src="jslib/moment/it.js"></script>
<script src="jslib/moment/pl.js"></script>
<script src="jslib/moment/ru.js"></script>
<script src="jslib/moment/zh-cn.js"></script>
amMoment.changeLocale(language);
<script src="assets/global/plugins/moment.min.js"></script>
<script src="jslib/angular-moment.min.js"></script>
<script src="jslib/moment/de.js"></script>
<script src="jslib/moment/es.js"></script>
<script src="jslib/moment/fr.js"></script>
<script src="jslib/moment/it.js"></script>
<script src="jslib/moment/pl.js"></script>
<script src="jslib/moment/ru.js"></script>
<script src="jslib/moment/zh-cn.js"></script>
var myapp = angular.module('myapp', ['angularMoment']);