MomentJS如何获得格式化,但不是本地化表示
MomentJS how to get formatted, but not localised representation?
我正在使用MomentJS v2.8.4,我正在尝试获取格式化日期,例如" 31/12/2015"
myDate.format('DD/MM/YYYY')
工作正常,直到我设置了一些"英语:)较少" 本地化,例如阿拉伯语。然后我得到这样的东西 ١٠/٠١/٢٠١٥
,这对用户来说很好,对 API 来说不是那么好。
来自 MomentJS 源代码
format : function (inputString) {
var output = formatMoment(this, inputString || moment.defaultFormat);
// here I get correct "31/12/2015" format
return this.localeData().postformat(output); // this will return localized version
},
格式时刻函数未公开导出...
您能为此提出正确的解决方案吗?
您可以将
当前locale()
设置保存在变量中(即保存用户的设置),然后显式设置locale
值,以便您可以为 API 调用获取正确的日期格式,然后将locale
值设置回保存的值。
像这样:
var userLocaleSetting = moment.locale();
moment.locale('en');
var myFormattedDate = myDate.format('DD/MM/YYYY');
moment.locale( userLocaleSetting );
一种解决方案可能是返回一个带有 api 和用户格式化日期的对象。
format : function (inputString) {
var api = formatMoment(this, inputString || moment.defaultFormat);
// here I get correct "31/12/2015" format
var user = this.localeData().postformat(api); // this will return localized version
return {api: api, user: user};
},
相关文章:
- React中的数据集表示
- Angularjs 1.5.x本地化最佳实践
- 什么'是在asp.net MVC中将本地化的resources.resx文件转换为javascript文件的有效
- 在Datatables中设置本地化后,需要更改标签文本
- 任何将(SSH)终端嵌入到一些HTML5表示系统中的想法(例如,show.js)
- 文本表示法VS.构造函数,用于在JavaScript中创建对象
- 如何将Date字段设置为等于另一个Date+Int值,该值表示月份值
- regex表示逗号,后跟空格或仅逗号
- 我将如何将其更改为循环和数组表示法
- 如何使用Undercore和Backbone在HTML中表示模型属性
- 将JSON对象的表示形式更改为显式键/值格式
- 如何在JS中获得CryptoJS.HmacSHA256的摘要表示
- 在javascript中使用方括号表示法的嵌套对象
- 如何在JavaScript中将数字表示为十六进制
- 如何从二进制int中获取百分比,每个位表示x%
- Regex表示10位数字,其中没有't允许所有零、所有单个no和序列号
- 如何避免“;使用数组文字表示法“;以下javascript代码中的jslint错误
- Regex表示8位电话号码(新加坡号码长度)
- 有没有办法在里面看到一个数字'的64位浮点IEEE754表示
- MomentJS如何获得格式化,但不是本地化表示