将Moment.js默认的日期格式设置为dd/mm/yyyy

22
调用Moment.js中的.calendar()方法时,日期会以MM/DD/YYYY格式输出。从代码看,这似乎由L标记控制。同样,LL标记将日期输出为November 29 2013
唯一的问题是,这些是美国日期格式,而我需要根据澳大利亚标准显示日期,例如DD/MM/YYYY29 November 2013
有人知道在哪里/如何设置吗?
注:我的系统语言环境和位置都设置为英语(澳大利亚)澳大利亚
3个回答

13

3
现在 lang 已经被弃用了,请使用 locale - mayid

11

使用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

1
感谢您的回答@amp,非常准确。我之前接受了先前的答案,只是因为他们先回答了,但对于那些在家玩的人来说,这也是一个可行的解决方案。 - user592501
谢谢你的评论,Nick - 我同意!我本来想给更多的例子和输出,但Anto绝对是正确的! - arturomp

9

从版本2.8.1及更高版本开始,使用locale

moment.locale('en-AU');

如果您使用的版本是2.8.1之前的,使用 lang

moment.lang('en-AU');

这将在moment全局设置语言环境,设置后所有依赖于语言环境的函数都会受到影响。

请注意,此功能仅适用于1.7.0版本及以上。

请参阅文档


1
我感觉自己做错了什么。 我使用的是 V 2.11.1 版本。moment.locale('en-AU'); alert(moment('18/01/2016').format("D MMMM YYYY"));还是无效的吗? - Thomas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接