Javascript 将日期格式化为长格式

Javascript 将日期格式化为长格式,javascript,date,Javascript,Date,我正在使用javascript,试图将我收到的日期格式化为2017年7月31日的格式 有没有实现这一点的最佳实践?您应该使用,它很容易格式化 var dateStr = '2017-07-31'; var date = moment(dateStr, 'YYYY-MM-DD'); moment(date.format('MMMM Do, YYYY'); 现代浏览器的一个选择(是的,包括IE11)是使用Date#toLocaleString var dateString=“2017-07-31

我正在使用javascript,试图将我收到的日期格式化为2017年7月31日的格式

有没有实现这一点的最佳实践?

您应该使用,它很容易格式化

var dateStr = '2017-07-31';
var date = moment(dateStr, 'YYYY-MM-DD');
moment(date.format('MMMM Do, YYYY');

现代浏览器的一个选择(是的,包括IE11)是使用Date#toLocaleString

var dateString=“2017-07-31”;//您有此格式的日期字符串
变量日期=新日期(日期字符串+'T00:00:00');//当地时间,,
//如果没有T00:00:00,则日期为UTC
//西半球的约会将是一天
选项={
年:“数字”,月:“长”,日:“数字”
};
console.log(日期tolocalstring('en-US',选项));

//在我们看来,唯一的格式是月-日,年
@AlexanderNied-true,但公认的答案是老派的:pYou可以重新格式化日期字符串,而无需转换为日期对象(这更简单,也更不容易出错)。你的答案不应该依赖于没有在OP中标记或提及的库。这很公平,但是这个问题以前已经被问过一百万次了。可能有200万个……标记的重复项之间有78个答案。是的,但其他人指出的(唯一的)重复项中接受的答案是7年前的,或者其他什么:pI根本不使用日期,重新格式化字符串和替换月份是两行代码,完全避免了日期的不规则性