Notice Period Calculator
ANA›Life Services Authority›National Calculator Authority›Notice Period Calculator
.calc-container { max-width: 640px; margin: 2rem 0; padding: 1.5rem; background: #fff; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); font-family: system-ui, -apple-system, sans-serif; } .calc-container h3 { font-family: Georgia, serif; font-size: 1.15rem; color: #1a1a1a; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; flex-wrap: wrap; } .calc-row label { min-width: 160px; font-size: 0.9rem; color: #333; font-weight: 500; } .calc-row input[type="number"], .calc-row select { flex: 1; min-width: 120px; max-width: 200px; padding: 0.5rem 0.6rem; border: 1px solid #ccc; border-radius: 4px; font-size: 0.9rem; font-family: system-ui, sans-serif; color: #1a1a1a; background: #fafaf8; } .calc-row input:focus, .calc-row select:focus { outline: none; border-color: var(--ac, #3d5a80); box-shadow: 0 0 0 2px rgba(26,74,138,0.12); } .calc-row .unit { font-size: 0.82rem; color: #888; min-width: 30px; } .calc-btn { display: inline-block; margin-top: 0.5rem; padding: 0.55rem 1.5rem; background: var(--ac, #3d5a80); color: #fff; border: none; border-radius: 4px; font-size: 0.9rem; font-weight: 600; cursor: pointer; font-family: system-ui, sans-serif; } .calc-btn:hover { opacity: 0.9; } .calc-result { margin-top: 1.25rem; padding: 1rem 1.25rem; background: #f0f6fc; border-left: 3px solid var(--ac, #3d5a80); border-radius: 0 6px 6px 0; display: none; } .calc-result.visible { display: block; } .calc-result-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: #666; margin-bottom: 0.25rem; } .calc-result-value { font-size: 1.6rem; font-weight: 700; color: var(--ac, #3d5a80); } .calc-result-detail { font-size: 0.85rem; color: #555; margin-top: 0.5rem; line-height: 1.5; } .calc-note { margin-top: 1rem; font-size: 0.8rem; color: #888; font-style: italic; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.75rem; } .calc-grid-item { padding: 0.6rem 0.8rem; background: #f8f9fa; border-radius: 4px; border: 1px solid #eee; } .calc-grid-item .label { font-size: 0.75rem; color: #888; text-transform: uppercase; letter-spacing: 0.04em; } .calc-grid-item .value { font-size: 1.1rem; font-weight: 600; color: #1a1a1a; } @media (max-width: 720px) { .calc-row { flex-direction: column; align-items: flex-start; gap: 0.3rem; } .calc-row label { min-width: auto; } .calc-row input[type="number"], .calc-row select { max-width: 100%; width: 100%; } .calc-grid { grid-template-columns: 1fr; } } .calc-chart { margin: 1rem 0; text-align: center; } .calc-chart svg { max-width: 100%; height: auto; } .calc-chart-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem 1.2rem; margin-top: 0.6rem; font-size: 0.8rem; color: #555; } .calc-chart-legend span { display: inline-flex; align-items: center; gap: 0.3rem; } .calc-chart-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; font-style: normal; } .calc-related { max-width: 640px; margin: 2rem 0 1rem; padding: 1.25rem 1.5rem; background: #f8f9fa; border: 1px solid #e8e8e8; border-radius: 8px; } .calc-related h3 { font-family: Georgia, serif; font-size: 1rem; color: #1a1a1a; margin: 0 0 0.75rem; padding-bottom: 0.4rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-related-list { list-style: none; padding: 0; margin: 0 0 0.75rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem 1.5rem; } .calc-related-list li a { font-size: 0.88rem; color: var(--ac, #3d5a80); text-decoration: none; } .calc-related-list li a:hover { text-decoration: underline; } .calc-browse-all { margin: 0.5rem 0 0; font-size: 0.9rem; font-weight: 600; } .calc-browse-all a { color: var(--ac, #3d5a80); text-decoration: none; } .calc-browse-all a:hover { text-decoration: underline; } @media (max-width: 720px) { .calc-related-list { grid-template-columns: 1fr; } }
Notice Period Calculator
Calculate your notice period end date, including or excluding weekends and public holidays, based on your resignation or termination date.
Notice Start Date
The date you hand in your resignation or receive termination notice.
Notice Period Length
Notice Period Unit
Weeks Calendar Days Months
Count Days As
Calendar Days (including weekends) Working Days Only (Mon–Fri)
Does Notice Start On The Given Date?
Yes – notice starts on that date No – notice starts the following day
Calculate
function notCalc() { var resultDiv = document.getElementById('not-result'); resultDiv.style.display = 'none'; resultDiv.innerHTML = '';
// --- Inputs --- var startVal = document.getElementById('not-start-date').value; var length = parseFloat(document.getElementById('not-notice-length').value); var unit = document.getElementById('not-notice-unit').value; var dayType = document.getElementById('not-day-type').value; var inclStart = document.getElementById('not-include-start').value;
// --- Validation --- var errors = []; if (!startVal) errors.push('Please select a Notice Start Date.'); if (isNaN(length) || length 365) errors.push('Notice Period Length cannot exceed 365 days / 52 weeks / 12 months.');
if (errors.length > 0) { resultDiv.innerHTML = '' + errors.map(function(e){ return ''; }).join('') + ''; resultDiv.style.display = 'block'; return; }
// --- Compute effective start --- // Parse date as local (avoid UTC offset issues) var parts = startVal.split('-'); var startDate = new Date(parseInt(parts[0]), parseInt(parts[1])-1, parseInt(parts[2]));
var effectiveStart = new Date(startDate); if (inclStart === 'no') { effectiveStart.setDate(effectiveStart.getDate() + 1); }
// --- Compute end date --- var endDate;
if (dayType === 'calendar') { // Convert everything to calendar days var totalCalendarDays; if (unit === 'days') { totalCalendarDays = Math.round(length); } else if (unit === 'weeks') { totalCalendarDays = Math.round(length) * 7; } else { // months // Add N months endDate = new Date(effectiveStart); endDate.setMonth(endDate.getMonth() + Math.round(length)); endDate.setDate(endDate.getDate() - 1); // last day of notice totalCalendarDays = null; // already computed }
if (totalCalendarDays !== null) { endDate = new Date(effectiveStart); endDate.setDate(endDate.getDate() + totalCalendarDays - 1); }
} else { // Working days only (Mon–Fri) var totalWorkingDays; if (unit === 'days') { totalWorkingDays = Math.round(length); } else if (unit === 'weeks') { totalWorkingDays = Math.round(length) * 5; } else { // months – approximate: 1 month ≈ 21.67 working days totalWorkingDays = Math.round(Math.round(length) * (52 * 5 / 12)); }
// Walk forward counting only Mon–Fri var counted = 0; var cursor = new Date(effectiveStart); // Count effectiveStart if it's a working day while (counted '; html += 'Notice Start Date' + fmtDate(startDate) + ''; html += 'Effective Notice Begins' + fmtDate(effectiveStart) + ''; html += 'Last Day of Notice (End Date)' + fmtDate(endDate) + ''; html += 'Total Calendar Days' + totalCalDays + ' day' + (totalCalDays !== 1 ? 's' : '') + ' (' + fullWeeks + ' week' + (fullWeeks !== 1 ? 's' : '') + (remDays > 0 ? ' & ' + remDays + ' day' + (remDays !== 1 ? 's' : '') : '') + ')'; html += 'Working Days (Mon–Fri)' + workingDays + ' days'; html += 'Weekend Days' + weekendDays + ' days'; html += 'Counting Method' + (dayType === 'calendar' ? 'Calendar days (weekends included)' : 'Working days only (Mon–Fri)') + ''; html += '';
resultDiv.innerHTML = html; resultDiv.style.display = 'block'; }
#### Formulas Used
Calendar Days mode:
- Weeks → Days: Total Days = Notice Length × 7
- Days: Total Days = Notice Length
- Months: End Date = Start Date + N months − 1 day
- End Date = Effective Start Date + Total Days − 1
Working Days mode (Mon–Fri):
- Weeks → Working Days: Total Working Days = Notice Length × 5
- Months → Working Days: Total Working Days = Notice Length × ⌊52 × 5 / 12⌋ ≈ Notice Length × 21.67
Summary stats:
- Total Calendar Days = (End Date − Start Date) + 1
- Working Days = count of Mon–Fri days in [Start Date, End Date]
- Weekend Days = Total Calendar Days − Working Days
#### Assumptions & References
- When Working Days Only is selected, only Monday–Friday are counted; public/bank holidays are not automatically excluded (vary by jurisdiction).
- The "months" option uses JavaScript's native Date.setMonth(), which correctly handles month-end edge cases (e.g. 31 Jan + 1 month = 28/29 Feb).
- For working-day month calculations, the standard approximation of 21.67 working days per month (52 weeks × 5 days ÷ 12 months) is used.
- The "Notice starts the following day" option reflects jurisdictions or contracts where the notice period begins the day after the notice is given.
More Calculators
- Chiropractic Visit Frequency Estimator
- Chicago Water Pressure Calculator
- Recovery Time Objective (RTO) Calculator
- Cloud Backup Storage Cost Calculator
- Backup Retention & Storage Growth Estimator
- Medical Expenses Recovery Calculator
- Vehicle Diminished Value Calculator
- Personal Injury Compensation Estimator
- Auto Claim Settlement Value Estimator
- Total Loss vs Repair Cost Calculator
Read Next
Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...