问题
I'm having trouble formatting a date correctly in Moment.js. I'm using the format function with format "LLL D, YYYY" so it should return something like "Sep 15, 2016".
Instead, it's returning a the date in a weird format like "September 15, 2016 12:00 AM 15, 2016".
Here is my code, with the debugging info below.
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);
And the console output from the above code:
回答1:
From http://momentjs.com/docs/#/displaying/format/ we can see that "LLL" represents the format "Month name, day of month, year, time". It seems you want "Month day, year", which is "LL".
Try:
picker.format = 'LL';
formatted = moment(picker.date).format(picker.format);
console.log(formatted);
Outputs (with today's date):
September 15, 2016
回答2:
This should work...
formatted = moment(picker.date).format('MMM D, YYYY')
Ref: http://momentjs.com/docs/#/parsing/string-format/
来源:https://stackoverflow.com/questions/39516903/how-to-format-a-date-in-moment-js