date-fns

date-fns get start end of current current and next quarter. Formats as month year

by akmiecik

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/1.30.1/date_fns.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/1.28.5/date_fns.min.js"></script>
<div id=demo>
</div>
<div id=id2>
</div>
<div id=id3>
</div>
<div id=id4>
</div>

JavaScript

//toLocaleDateString formats the date
//these are the options used for toLocaleDateString
const options = { month: 'long', year: 'numeric'};
const today = new Date();
var startMonth = (today.getDate() >= 20) ? dateFns.addMonths(today, 2).toLocaleDateString("en-US", options):dateFns.addMonths(today, 1).toLocaleDateString("en-US", options);

//put answer inside id1
//dateFns.startOfQuarter(new Date()) gives the date
//toLocaleDateString("en-US", options) formats the date
demo.innerHTML = dateFns.startOfQuarter(startMonth).toLocaleDateString("en-US", options)

id2.innerHTML = dateFns.endOfQuarter(startMonth).toLocaleDateString("en-US", options)

id3.innerHTML = dateFns.startOfQuarter(dateFns.subQuarters(startMonth,-1)).toLocaleDateString("en-US", options)