如何切换到不同的日期格式?

How to switch to a different date format?

Original Question How to format the date correctly?

我需要更改此格式的日期 - Fri Jul 12 2019 到这种格式 Friday, 12 Jule

我试过使用date-fns

(原因:一个元素有这个格式的日期属性)

使用date-fns

const date = "Fri Jul 12 2019"
const dateFormat = 'dddd, DD MMMM';
console.log(dateFns.format(new Date(date),dateFormat));
<script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/1.30.1/date_fns.min.js"></script>

建议使用 momentjs

这样的库

const date = "Fri Jul 12 2019"
const dateFormat = 'dddd, DD MMMM';
console.log(moment(new Date(date)).format(dateFormat));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>

您可以使用 MomentJs 轻松更改日期格式

const date = "Fri Jul 12 2019"
const dateFormat = 'dddd, DD MMMM';
console.log("New Date Format is",moment(new Date(date)).format(dateFormat));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>

如果你愿意,你可以用纯 JS 自己解析日期:

    var dateToParse = 'Fri Jul 12 2019';
var dateParsed = new Date(dateToParse);

const days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
const months = ['January', 'February', 'March', 'April', 'May', 'June',
  'July', 'August', 'September', 'October', 'November', 'December'
];

document.write(days[dateParsed.getDay()] + ', ' + dateParsed.getDate() + ' ' + months[dateParsed.getMonth()]);

JSFiddle

使用 date_fns

更改日期格式
const date = "Fri Jul 12 2019"
const format = 'dddd, DD MMMM';
const newdate = dateFns.format(new Date(date),format);
console.log(newdate);

调用 CDN

<script src="//cdnjs.cloudflare.com/ajax/libs/date-fns/1.30.1/date_fns.min.js"></script>