我使用的是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
},formatMoment函数未公开导出...
你能对此提出正确的解决方案吗?
发布于 2015-01-10 00:12:44
您可以将当前的locale()设置保存在一个变量中(即保存用户的设置),然后显式地设置API值,以便您可以为您的locale调用获得正确的日期格式,然后将locale值设置回保存的值。
类似于:
var userLocaleSetting = moment.locale();
moment.locale('en');
var myFormattedDate = myDate.format('DD/MM/YYYY');
moment.locale( userLocaleSetting );发布于 2015-01-10 00:27:27
一种解决方案可能是返回一个包含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};
},https://stackoverflow.com/questions/27864073
复制相似问题