function addOrd(n) {
var ords = [, 'st', 'nd', 'rd'];
var ord, m = n % 100;
return n + ((m > 10 && m < 14) ? 'th' : ords[m % 10] || 'th');
}
function formatDatePlusTwoWeeks(d) {
var months = ['January', 'February', 'March', 'April', 'May', 'June',
'July', 'August', 'September', 'October', 'November', 'December'
];
var e = new Date(d);
e.setDate(e.getDate() + 14);
return addOrd(e.getDate()) + ' ' + months[e.getMonth()] + ' ' + e.getFullYear();
}
console.log(formatDatePlusTwoWeeks(new Date()));
function datePlusTwoWeeks(date = new Date()) {
let d = new Date(date.getFullYear(), date.getMonth(), date.getDate() + 14);
let parts = new Intl.DateTimeFormat('en',{
year: 'numeric',
month: 'long',
day: 'numeric'
}).formatToParts(d).reduce((acc, part) => {
acc[part.type] = part.value;
return acc;
}, Object.create(null));
return `${addOrd(parts.day)} ${parts.month} ${parts.year}`;
}
console.log(datePlusTwoWeeks())