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

问题描述:

我在Moment.js中正确格式化日期时遇到问题。我使用格式为“LLL D,YYYY”的格式函数,因此它应该返回类似于“2016年9月15日”的内容。如何在Moment.js中格式化日期

取而代之的是,它以一种奇怪的格式返回日期,如“2016年9月15日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); 

而且从上面的代码输出控制台:

debugging output

http://momentjs.com/docs/#/displaying/format/我们可以看到,“LLL”表示格式“月名,月,年,时间一天。”你似乎想要“月日,年”,即“LL”。

尝试:

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

输出(今天的日期):

September 15, 2016 
+0

除其实有对于'LL'我不是昏迷谢谢 – user3

+0

谢谢。这种格式来自PHP的IntlDateFormatter :: defaultDateFormats [self :: MEDIUM]。 – amacrobert

这应该工作...

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

编号:http://momentjs.com/docs/#/parsing/string-format/