moment.js 格式日期时间的错误在使用 .calendar() 方法时不起作用

Bug in moment.js format datetime doesn't work when using .calendar() method

嗨,我正在努力用 moment.js 2.9.0 格式化日期时间。

它只是不起作用,它没有按照我的日期时间格式进行格式化。

我的代码如下:

moment('2014-07-01 02:20',['YYYY-MM-DD HH:mm']).calendar();

结果:

"07/01/2014"   it is MM/DD/YYYY

应该是01/07/2014DD/MM/YYYY

实际上,如何格式化 calendar() 的结果?我认为它使用的格式是:MM/DD/YYYY 作为默认格式。

http://momentjs.com/docs/#/displaying/calendar-time/

这给我带来了问题,有没有人有解决方案或者这是一个错误?

您忘记在 moment.js 文档中单击 link 到 'can be customised'。

要自定义 calendar() 输出,您需要执行以下操作:

moment.locale('en', {
    calendar : {
        lastDay : '[Yesterday at] LT',
        sameDay : '[Today at] LT',
        nextDay : '[Tomorrow at] LT',
        lastWeek : '[last] dddd [at] LT',
        nextWeek : 'dddd [at] LT',
        sameElse : 'DD/MM/YYY'
    }
});

然后

moment('2014-07-01 02:20',['YYYY-MM-DD HH:mm']).calendar();

将 return 01/07/2014