Calculate weeks from start year
by M Shameer
HTML
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<label>Start Year: <input type="number" id="startYear" value="2020" /></label>
<button id="calculateWeeks">Calculate Weeks</button>
<div id="results"></div>
JavaScript
function formatDate(date) {
// Format as YYYY-MM-DD (in local time)
const year = date.getFullYear();
const month = (date.getMonth() + 1).toString().padStart(2, '0');
const day = date.getDate().toString().padStart(2, '0');
return `${year}-${month}-${day}`;
}
$('#calculateWeeks').click(function () {
const year = parseInt($('#startYear').val());
const startDate = new Date(year, 0, 1, 12); // Jan 1, 12:00 PM local time
const endOfYear = new Date(year, 11, 31, 12); // Dec 31, 12:00 PM
let current = new Date(startDate);
let weekCount = 0;
const results = [];
while (current <= endOfYear) {
const weekStart = new Date(current);
const weekEnd = new Date(current);
weekEnd.setDate(weekEnd.getDate() + 6);
if (weekStart <= endOfYear) {
const safeEnd = weekEnd > endOfYear ? endOfYear : weekEnd;
results.push(`Week ${++weekCount}: ${formatDate(weekStart)} to ${formatDate(safeEnd)}`);
}
current.setDate(current.getDate() + 7);
}
$('#results').html(results.join('<br/>'));
});