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

时间:2013-11-29 10:37:36

标签: date localization momentjs

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

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

有谁知道在哪里/如何设置这个?

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

3 个答案:

答案 0 :(得分:11)

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

检查此处的文档http://momentjs.com/docs/#/i18n/changing-locale/

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

答案 1 :(得分:10)

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

答案 2 :(得分:8)

从版本 2.8.1及更新,使用locale

moment.locale('en-AU');

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

moment.lang('en-AU');

这将在moment中全局设置区域设置,设置完成后,所有区域设置依赖项功能都会受到影响。

请注意,在1.7.0版之前无法使用此功能。

请参阅documentation