如何格式化 Moment.js 中的日期

How to format a date in Moment.js

我在 Moment.js 中正确设置日期格式时遇到问题。我正在使用格式为 "LLL D, YYYY" 的格式函数,所以它应该 return 类似于 "Sep 15, 2016".

相反,它 return 以 "September 15, 2016 12:00 AM 15, 2016" 等奇怪的格式输入日期。

这是我的代码,下面是调试信息。

moment.locale(picker.options.language);

console.log('picker.options.language:');
console.log(picker.options.language);

formatted = moment(picker.date).format(picker.format);

console.log('picker.date:');
console.log(picker.date);

console.log('picker.format:');
console.log(picker.format);

console.log('formatted:');
console.log(formatted);

以及上述代码的控制台输出:

http://momentjs.com/docs/#/displaying/format/可以看出"LLL"代表格式"Month name, day of month, year, time"。看来你想要 "Month day, year",也就是 "LL".

尝试:

picker.format = 'LL';
formatted = moment(picker.date).format(picker.format);
console.log(formatted);

输出(今天的日期):

September 15, 2016

这应该有效...

formatted = moment(picker.date).format('MMM D, YYYY')

参考:http://momentjs.com/docs/#/parsing/string-format/