首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MomentJS如何获得格式化的,而不是本地化的表示?

MomentJS如何获得格式化的,而不是本地化的表示?
EN

Stack Overflow用户
提问于 2015-01-09 23:38:32
回答 2查看 582关注 0票数 0

我使用的是MomentJS v2.8.4,并且我正在尝试获取格式日期,如"31/12/2015“

myDate.format('DD/MM/YYYY')运行得很好,直到我设置了一些“更少的英语:)”本地化,例如阿拉伯语。然后我得到了像这样的١٠/٠١/٢٠١٥,这对用户来说很好,但对API来说就不那么好了。

来自MomentJS源代码

代码语言:javascript
复制
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函数未公开导出...

你能对此提出正确的解决方案吗?

EN

回答 2

Stack Overflow用户

发布于 2015-01-10 00:12:44

您可以将当前的locale()设置保存在一个变量中(即保存用户的设置),然后显式地设置API值,以便您可以为您的locale调用获得正确的日期格式,然后将locale值设置回保存的值。

类似于:

代码语言:javascript
复制
var userLocaleSetting = moment.locale();
moment.locale('en');
var myFormattedDate = myDate.format('DD/MM/YYYY');
moment.locale( userLocaleSetting );
票数 1
EN

Stack Overflow用户

发布于 2015-01-10 00:27:27

一种解决方案可能是返回一个包含api和用户格式化日期的对象。

代码语言:javascript
复制
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};
},
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27864073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档