Days elapsed in the quarter
By 15 February 2026, 45 whole days have passed since the first quarter began on 1 January. Enter a date to see its quarter, the quarter's start and the days elapsed, with the opening day counted as zero. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Date
- 2026-02-15
- Year
- 2,026
- Quarter
- 1
- Quarter start
- 2026-01-01
- Days elapsed
- 45
Quarter-to-date day counts power dashboards, SLA clocks, finance close checklists, and product metrics that report progress inside Q1 through Q4. This capability takes one explicit ISO date, maps it to its UTC calendar quarter, and returns how many whole days have elapsed since that quarter began — not a wall-clock guess and not a relative “today”. On the quarter start date the result is zero; each subsequent calendar day adds one.
What days elapsed in the quarter means
A calendar quarter is a fixed three-month block in the Gregorian year: Q1 runs January through March, Q2 April through June, Q3 July through September, and Q4 October through December. The start of each quarter is the first day of its first month at the UTC calendar date, independent of time zones, business calendars, or fiscal year offsets. Whole days elapsed is the integer difference between your date’s day-of-year and the quarter start’s day-of-year in the same year.
That definition makes the first day of the quarter report zero elapsed days, the second day report one, and so on through the last day of the quarter. Unlike “days remaining” or “business days”, this count ignores weekends and holidays; it is a pure civil-calendar distance. Leap years are handled correctly for February, so a date in late Q1 of a leap year still subtracts from January 1 with the extra day included when it falls before the input.
How to send the ISO date correctly
Provide date as a string in YYYY-MM-DD form, or as a full ISO datetime whose calendar prefix is YYYY-MM-DD before a T or space. Only the UTC calendar date is used: hours, minutes, seconds, and offsets are ignored so that 2026-02-15T23:59:59Z and 2026-02-15 both count as the same civil day. Impossible dates such as February 30 or month 13 also fail.
Prefer a machine-readable ISO string without units or prose so parsers never guess. When you need “days elapsed so far this quarter” relative to a report date, pass that report date explicitly rather than relying on the server clock — the capability never reads Date.now().
What you can do with it
Finance close and ops checklists
Stamp tasks with how many whole days have elapsed since quarter start for deadline pacing that matches the civil calendar, not local business days.
FAQ
Is the first day of the quarter zero or one?
Zero. Whole days elapsed means the integer distance from quarter start; on the start date itself no full day has elapsed yet.
Does it use my local timezone or the server clock?
Neither. Only the calendar date you send is used. Time-of-day and offsets are ignored, and the service never reads the system clock.
What does it cost?
The page tool is free in your browser. Invalid inputs are not charged.
Are weekends and holidays left out?
No. This is a plain calendar count in which every day adds one, weekends and holidays included. For working days only, use a business-day calculator instead.
Which date formats can I enter?
Year, month and day joined by hyphens, such as 2026-02-15, optionally followed by a time, which is ignored. Regional forms like 15/02/2026 and month names are rejected.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/date/days-elapsed-quarter \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2026-02-15"}'const res = await fetch("https://api.kit.forhosting.com/date/days-elapsed-quarter", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2026-02-15"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/days-elapsed-quarter",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2026-02-15"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/days-elapsed-quarter", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2026-02-15"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2026-02-15"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/days-elapsed-quarter", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"date": "2026-02-15"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.days_elapsed_quarter",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
The arithmetic uses only the year, month, and day you send, so the same payload always yields the same quarter number, quarter_start, and days_elapsed in every environment. Missing values, non-ISO strings, and impossible calendar days are rejected with invalid_input so automations fail loudly instead of inventing a timeline.
How to send the ISO date correctly
Aliases such as iso, day, value, on, and at are accepted so existing form fields map cleanly without renaming. Do not send locale-formatted strings like 15/02/2026 or month names; those are rejected as invalid_input. Successful calls return the normalized date, year, quarter (1–4), quarter_start as YYYY-MM-DD, and days_elapsed as a non-negative integer. The page tool is free; through the API a successful calculation costs $0.002 per request, and invalid inputs are not charged.
Where quarter day counts fit in real pipelines
Ops and finance teams often need a single number that answers how far the current quarter has progressed on a fixed calendar, for progress bars, burn charts, and close checklists that open on day zero of the quarter. Batch importers walk CSV rows of ISO dates and attach the same four-field structure in every warehouse load. Combine the output with other date tools if you need remaining days or business-day filters; this capability stays focused on one deterministic elapsed-day count so the contract remains small and stable. Product analytics jobs stamp events with quarter and days_elapsed so cohorts line up across regions without local-time drift. SLA engines can compare contractual day counts against days_elapsed from a known quarter start without inventing a business-day table when the contract is pure calendar time.
Integration use cases
Quarter progress dashboards
Convert each report ISO date into quarter and days_elapsed so KPI boards show calendar progress inside Q1–Q4 without client-side date libraries.
Batch event labeling in analytics
Map CSV or warehouse rows of ISO dates into year, quarter, quarter_start, and days_elapsed fields for consistent cohort and SLA reporting.
Technical questions
What does days elapsed in the quarter return?
It returns the normalized ISO date, year, quarter (1–4), quarter_start (YYYY-MM-DD), and days_elapsed: whole days from that quarter’s first day to your date in UTC.
When does the calculation fail?
It fails with invalid_input when date is missing, not ISO YYYY-MM-DD (or an ISO datetime with that prefix), or not a real calendar day for that month and year.