You're filling out a visa application. Or calculating a notice period. Maybe you're tracking a subscription renewal, a probation window, or the exact day your six-month gym membership expires. Which is the point.
You type "how many days in six months" into Google. The answer pops up: 182.5 days.
You nod. Close the tab. Move on.
Two weeks later, something breaks. The visa gets rejected. That's why the subscription renews early. The notice period lands on a weekend and HR says "that doesn't count.
Turns out 182.Still, 5 was the wrong number. Or the right number for the wrong question.
Here's the thing — "six months" isn't a fixed unit. It's a moving target. And the difference between 180, 181, 182, 183, 184, and 186 days matters more than most people realize.
What Is "Six Months" Really
Ask a calendar and you'll get a shrug. Six months is half a year. But which half?
January through June gives you 181 days (182 in a leap year). Day to day, july through December gives you 184 days. That's a three-day swing depending on where you start.
And that's just the calendar months. Rolling six-month windows — the kind used in visa rules, tax residency tests, and subscription billing — shift every single day. Today's six-month window is different from tomorrow's.
The calendar definition
Calendar months are messy. Think about it: we all know the rhyme: thirty days hath September, April, June, and November. February breaks the pattern entirely. July and August both have 31 days back to back — the only consecutive 31-day months in the year.
So six calendar months can equal:
- 180 days — only if you're counting February through July in a non-leap year (28+31+30+31+30+31 = 181, wait... that's 181. Let me recalculate. Feb 28, Mar 31, Apr 30, May 31, Jun 30, Jul 31 = 181. There is no 180-day six-month calendar span.
The average works out to 182.And 625 days. But nobody lives in the average.
The rolling window definition
This is where it gets practical. Still, immigration officers, tax authorities, and SaaS billing engines don't care about calendar halves. They count backward from today.
"Have you been in the country for more than 180 days in the last six months?"
That question uses a rolling window. Every day, the window shifts. But day 1 drops off. Think about it: a new day enters. The count changes constantly.
Rolling windows are usually defined as 180 days, 182 days, or 183 days — not "six months." The legislation or contract will specify the exact day count. If it says "six months" without a day number, lawyers get involved.
The business/financial definition
In finance, six months often means 182 days or 183 days exactly. Bond coupons, interest accruals, derivative contracts — they use day count conventions like Actual/360, Actual/365, 30/360.
Under 30/360, every month is 30 days. Plus, six months = 180 days. Now, clean. In practice, predictable. Wrong for real life, but standard for contracts.
Under Actual/Actual, you count real days between real dates. Six months from January 15 is July 15 — that's 181 days (182 in leap year). From July 15 to January 15? 184 days.
The convention matters. Always check the contract.
Why It Matters / Why People Care
You might think this is pedantic. Three days here, two days there — who cares?
Visa officers care. The Schengen 90/180 rule doesn't use "six months." It uses a rolling 180-day window. Stay 91 days in any 180-day period and you've overstayed. People get banned for miscounting by two days.
Tax authorities care. The US substantial presence test uses a weighted formula across three years. The UK statutory residence test has day-counting rules with specific "midnight" definitions. Canada's 183-day rule for deemed residency. Australia's 183-day test. Get the count wrong and you owe taxes in two countries.
Employers care. Probation periods. Notice periods. FMLA eligibility (12 months, 1,250 hours — but the 12 months doesn't have to be consecutive). A "six-month review" that lands on a weekend or holiday creates ambiguity.
Subscription businesses care. Bill on "monthly anniversary" vs "same date each month" vs "every 30 days" vs "every calendar month." A customer signs up January 31. When's the sixth payment? June 30? July 1? July 31? Different billing engines handle this differently. Churn spikes happen on edge-case dates.
Pregnancy tracking cares. "Six months pregnant" means roughly 26 weeks — 182 days from conception. But doctors count from last menstrual period (40 weeks total). The "six month" milestone shifts depending on which convention you use.
Insurance cares. Waiting periods. Pre-existing condition lookbacks. "Six months prior to policy inception" — inclusive or exclusive of the start date? That one day changes coverage.
The pattern: whenever money, legal status, or health is on the line, the vague phrase "six months" becomes a liability.
How to Calculate It (Correctly)
Stop guessing. Here's how to get the right number for your specific situation.
Step 1: Identify which definition applies
Read the source document. Not the summary. Not the FAQ. The actual rule, contract, statute, or policy.
Look for:
-
"180 days" / "182 days" / "183 days" / "184 days"
-
"Calendar months" / "rolling months" / "anniversary date"
-
"Business days" / "calendar days" / "working days"
-
"Inclusive" / "exclusive" / "within" / "prior to"
-
Reference to a specific convention: Actual/Actual, 30/360, Act/365, Act/360
If the document doesn't say, assume nothing. Ask the counterparty, the regulator, or your lawyer. Get it in writing.
Step 2: Anchor the start date precisely
"Six months from signing" — but when exactly was it signed? The date on the cover page? The date the last party signed? That's why the effective date listed in Section 1. 2? The date funds cleared?
Timestamp matters. A contract signed at 11:58 PM vs 12:02 AM shifts the entire window by a day. Some jurisdictions use "midnight at the start of the day," others "midnight at the end." The contract should specify. If it doesn't, local law fills the gap — and local laws differ.
For visas: the entry stamp date. That's why for tax: physical presence at midnight. For employment: first day worked, not offer acceptance date. For subscriptions: payment authorization timestamp, not invoice date.
Write down: Start Date = [YYYY-MM-DD], Time = [HH:MM] [Timezone], Authority = [Clause/Statute Section]
Step 3: Apply the correct arithmetic
If "calendar months" / "anniversary date":
Add 6 to the month number. Keep the day.
Jan 15 → Jul 15. Aug 31 → Feb 28 (or 29).
Rule:* If the target month lacks the day, use the last day of the target month. This is the "end-of-month" convention. Confirm it's the one your contract uses.
Want to learn more? We recommend how many inches is 10 mm and how many grams in a quarter ounce for further reading.
If "180 days" / "182 days" / exact day count:
Use a date calculator that handles leap years. Excel: =START_DATE + 180. Python: start + timedelta(days=180).
Do not* add 6 × 30. Do not guess. Count actual days.
If "business days":
Define the holiday calendar. US federal? NYSE? London? Dubai? Your company's observed holidays?
Count forward skipping weekends and defined holidays. Document the calendar version used.
If "rolling window" (e.g., Schengen 90/180):
You need a sliding calculator. Every day, the 180-day window shifts. Today's count = days present in [Today - 179, Today].
Use a dedicated tracker (spreadsheet, app, or the EU's official calculator). Mental math fails here.
Step 4: Handle the boundary — inclusive vs. exclusive
"Within six months of January 1."
Does January 1 count as Day 0 or Day 1?
Does July 1 count as the last day or the first day after*?
- Inclusive start, inclusive end: Jan 1 to Jul 1 = 183 days (non-leap). Both endpoints count.
- Inclusive start, exclusive end: Jan 1 to Jun 30 = 181 days. End date is the first day not included.
- Exclusive start, inclusive end: Jan 2 to Jul 1 = 181 days.
- Exclusive both: Jan 2 to Jun 30 = 179 days.
Default legal presumption varies. US federal rules often use "exclude the first, include the last." Some visa rules count entry day + exit day. Some tax rules count midnight-to-midnight.
Find the rule. Write it down. Apply it consistently.*
Step 5: Verify with a second method
Calculate twice. Practically speaking, different tools. This leads to excel + online date calculator. Python + manual calendar count.
Your HR system + payroll provider's output.
If they disagree, find the discrepancy before the deadline.
Common mismatch sources: leap day handling, holiday calendar version, timezone on timestamp, end-of-month roll convention.
Document: Method A = [Result], Method B = [Result], Difference = [X days], Resolution = [Why Method A is correct per Section Y]
Step 6: Build in a buffer
If you control the timeline, don't land on the line.
- Visa: Leave 3–5 days before the 90/180 limit.
Plus, - Tax: Structure travel to stay clearly under 183 days (or clearly over, if treaty benefits apply). - Contract notice: Give notice 5–10 business days early.
Step 7: Document the logic and keep a living record
| What | Why | How |
|---|---|---|
| Exact rule used (e.g., “180 days inclusive of start and end”) | Eliminates ambiguity when you hand the calculation over to a new teammate or auditor | Write a short “Rule‑book” entry in your project wiki or a shared spreadsheet. |
| Source of the rule (statutory text, HR policy, tax code) | Provides traceability and protects against future changes | Link or attach the official document; note the version date. |
| Tools & formulas | Enables quick re‑run and debugging | Store the Excel sheet, Python script, or API call in a version‑controlled repo. |
| Key dates (start, end, cut‑off, buffer) | Makes it obvious when the rule will trigger | Highlight them in your calendar or project management tool. |
A living document is worth a bullet‑in reisen. Every time you tweak a rule, update the record and tag the change. This habit pays off when you need to explain a past decision to compliance or audit staff.
Step 8: Automate the routine
Manual calculations are fast, but they’re also fast to get wrong. Automation brings consistency.
-
Build a reusable function
Python:*from datetime import timedelta def days_between(start, end, inclusive=True): delta = (end - start).days return delta + 1 if inclusive else deltaExcel:*
=IF(INCLUSIVE, end-start+1, end-start) -
Hook into your calendar or HR system
Use web‑hooks or scheduled jobs to pull start dates, compute the end date, and push the result back to a shared database or notification channel. -
Set alerts
If the computed end date is within your buffer window, trigger an email or Slack message:
“Visa renewal due 4 days from now – action required.” -
Test on edge cases
Include leap years, month‑end rollover, public holidays, and daylight‑saving transitions in your unit tests.
Automation eliminates Immediately‑After‑the‑Start‑day errors and frees up people to focus on higher‑value tasks.
Step 9: Communicate clearly to stakeholders
The numbers you compute are only useful if everyone knows what they mean.
-
Create a “date‑rule cheat sheet” for non‑technical staff.
- “If you arrive on 15 March, the 90‑day window ends on 12 June.”
- “The 183‑day tax residency threshold is 1 July.”
-
Use visual aids – a Gantt chart or a simple timeline graphic can make the calculation obvious at a glance.
-
Provide a quick‑reference FAQ for common questions: “Do I need to count the day of my arrival?” “What about weekends?”
Clear communication reduces the risk of mis‑interpretation and ensures that decisions are made on the same data set.
Step 10: Review and refine
No process is perfect the first time. Schedule a quarterly review:
- Audit the last 12 months – did any calculation slip through the cracks?
- Gather feedback – what aspects of the rule were confusing?
- Update the rulebook – if a law changes or a new holiday is added, adjust the logic immediately.
- Re‑run automated tests – confirm that the new logic still passes all edge cases.
A disciplined review loop keeps your date calculations accurate and your compliance posture strong.
Conclusion
Calculating dates in a business context isn’t a simple “add 30 days” exercise. So it demands a disciplined approach that starts with a clear understanding of the rule, careful handling of inclusive versus exclusive boundaries, and a dependable method for counting days that respects leap years, holidays, and rolling windows. By documenting the rule, automating the calculation, and communicating the results, you transform a potential source of error into a predictable, auditable process.
Remember: the smallest slip—treating a start day as exclusive when the regulation says inclusive—can push a visa application over the limit or trigger an unexpected tax liability. Build in buffers, double‑check with a second method, and keep the logic transparent. With these practices in place, you’ll not only stay compliant but also gain the confidence of stakeholders who rely on your precision.