【问题标题】:Setting Moment.js default date format to dd/mm/yyyy将 Moment.js 默认日期格式设置为 dd/mm/yyyy
【发布时间】:2023-04-02 08:49:01
【问题描述】:

在 Moment.js 中调用 .calendar() 时,日期使用 MM/DD/YYYY 格式输出。从代码来看,这似乎是由L 令牌控制的。同样,LL 令牌将日期输出为 2013 年 11 月 29 日

唯一的问题是,这些是美国日期格式,我需要根据澳大利亚标准显示我的日期,例如DD/MM/YYYY2013 年 11 月 29 日

有人知道在哪里/如何设置吗?

注意:我的系统区域设置和位置分别设置为英语(澳大利亚)澳大利亚

【问题讨论】:

    标签: date localization momentjs


    【解决方案1】:

    您必须使用 moment-with-lang.js 并为“澳大利亚”设置语言

    在这里查看文档http://momentjs.com/docs/#/i18n/changing-locale/

    对你来说应该是 moment.lang('en-AU');

    【讨论】:

    • lang 现在已弃用。使用locale
    【解决方案2】:

    使用moment-with-lang.js ,代码

    <script src="moment-with-langs.js"></script>
    time = moment("Dec 25, 1995");
    moment(time).calendar() // note the absence of moment.lang("en-AU");
    

    输出

    25/12/1995 
    

    相比之下,使用moment.lang("en-AU"); 我们得到了

    moment.lang("en-AU");
    moment(time).calendar();
    

    输出

    25/12/1995 
    

    您也可以硬编码所需的输出,但使用format()

    moment(time).format("D MMMM YYYY")
    

    输出

    25 December 1995
    

    【讨论】:

    • 感谢您的回答@amp,它是正确的。我接受之前的答案只是因为他们先进入,但对于那些在家玩的人来说,这也是一个可行的解决方案。
    • 感谢尼克的评论 - 同意!我想我会给出更多关于输出的例子,但安托绝对是正确的!
    【解决方案3】:

    2.8.1 及更新版本,使用locale

    moment.locale('en-AU');
    

    如果您使用的版本早于 2.8.1,请使用lang

    moment.lang('en-AU');
    

    这将在moment中全局设置locale,设置后所有locale-dependents函数都会受到影响。

    请注意,这在 1.7.0 版本之前不可用。

    documentation

    【讨论】:

    • 我觉得我做错了什么。我在 V 2.11.1 moment.locale('en-AU');警报(时刻('18/01/2016').format(“D MMMM YYYY”));仍然无效?
    猜你喜欢
    • 2017-08-23
    • 2015-07-03
    • 2014-05-14
    • 2013-10-28
    • 1970-01-01
    • 2015-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多