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

Nic*_*ter 18 localization date momentjs

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

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

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

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

Ant*_*ash 11

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

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

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

  • `lang` 现在已弃用。使用`locale`。 (3认同)

art*_*omp 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");
Run Code Online (Sandbox Code Playgroud)

输出

25/12/1995 
Run Code Online (Sandbox Code Playgroud)

相反,使用moment.lang("en-AU");我们得到的

moment.lang("en-AU");
moment(time).calendar();
Run Code Online (Sandbox Code Playgroud)

输出

25/12/1995 
Run Code Online (Sandbox Code Playgroud)

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

moment(time).format("D MMMM YYYY")
Run Code Online (Sandbox Code Playgroud)

输出

25 December 1995
Run Code Online (Sandbox Code Playgroud)


awe*_*awe 7

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

moment.locale('en-AU');
Run Code Online (Sandbox Code Playgroud)

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

moment.lang('en-AU');
Run Code Online (Sandbox Code Playgroud)

这将全局设置区域设置moment,并且在设置此区域设置后,所有区域设置依赖项功能都将受到影响.

请注意,在1.7.0版之前不可用.

文档.