ForHosting KIT · Developer Utilities

EU daylight saving end date calculator

The EU daylight saving end date calculator finds the last Sunday in October for a selected year and reports the corresponding transition instant at 01:00 UTC.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

It uses Gregorian calendar arithmetic rather than the computer's clock or timezone, so the same input always produces the same answer. This is useful when building schedules, validating calendar data, preparing travel information, or documenting when European summer time ends. Enter a year from 1996 onward to receive an ISO calendar date and an unambiguous UTC timestamp.

What the calculator returns

Provide one Gregorian calendar year and the calculator returns the date of the final Sunday in October for that year. The result includes the input year, an ISO date in YYYY-MM-DD form, the weekday name, and a UTC transition timestamp ending in Z. The timestamp is set to 01:00 UTC, the common reference instant used for the coordinated European summer-time change. Using UTC matters because local wall-clock labels differ across European time zones. At the same instant, one country may describe the change as occurring at 02:00 local time while another describes it as 03:00. A UTC result gives software, data pipelines, and documentation one stable point to exchange. This capability covers years from 1996 through 9999. It does not inspect a device timezone, guess a country, or convert the transition to local civil time. The weekday is always Sunday by definition, while the numeric day can fall from October 25 through October 31 depending on the year. The API price is $0.002 per request, and the browser calculation uses the same deterministic logic.

How the last Sunday is calculated

The calculation begins with October 31 in the requested year. It computes that date's weekday using integer Gregorian calendar arithmetic, where Sunday is represented by zero and Saturday by six. The weekday number is then subtracted from 31. If October 31 is already a Sunday, nothing is subtracted; if it is a Monday, one day is subtracted; and so on. This produces the nearest Sunday on or before the final day of October, which is necessarily the month's last Sunday. The method accounts for Gregorian leap-year rules, including century years that are not leap years unless divisible by 400. No system date object is used, so daylight-saving settings, locale preferences, host timezone, and clock configuration cannot alter the result. There is also no network lookup or mutable timezone database involved. Those properties make the output suitable for repeatable tests and long-lived records. Input validation rejects missing values, decimals, strings presented as years, and years outside the supported range rather than silently coercing them into a potentially misleading calendar answer.

Using the result correctly

Use the returned date when you need the annual EU rule expressed as a calendar value, and use utc_transition when a system needs a precise instant. For example, a scheduling service can store the Z timestamp and convert it for each viewer only at display time. A reporting pipeline can compare its own generated transition table with the returned date, while a travel publisher can use the date as a review trigger for seasonal timetable notes. Do not interpret the output as a complete timezone conversion. Individual locations have different UTC offsets, abbreviations, and historical practices, and some European territories do not observe the rule. This calculator also does not determine whether lawmakers may change the policy in the future; it applies the stated last-Sunday-in-October rule deterministically to the requested supported year. If your application needs a local clock reading such as 02:00 or 03:00, combine the UTC instant with an appropriate timezone implementation and the intended IANA zone. Keeping rule calculation separate from local presentation prevents ambiguous timestamps and makes audits easier because every consumer starts from the same UTC reference.

Build annual schedule data

Generate a stable UTC transition entry for a calendar, scheduler, or operational runbook.

Validate timezone tables

Compare a generated or imported EU summer-time end date against an independent arithmetic result.

Prepare travel and event notices

Identify the October date that needs a clock-change note before converting it for a specific location.

What date does EU daylight saving time end?

Under the rule calculated here, it ends on the last Sunday of October at 01:00 UTC. The exact calendar date changes by year.

Why is the transition reported in UTC?

UTC identifies one unambiguous instant. Local clock readings differ between European time zones even when the transition is coordinated.

Does the calculator use my computer's timezone?

No. It uses integer Gregorian calendar arithmetic, so the host timezone and daylight-saving configuration cannot affect the answer.

Can I use the result as a local clock time?

Use the returned UTC timestamp as the source instant, then convert it with the specific location's timezone rules.

How much does an API request cost?

Each API request costs $0.002. The same deterministic calculation is also available in the browser.

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.

POSThttps://api.kit.forhosting.com/date/daylight-saving-end-eu

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.

curl -X POST https://api.kit.forhosting.com/date/daylight-saving-end-eu \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"year":2026}'
{
  "year": 2026
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "date.daylight_saving_end_eu",
  "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.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →