ForHosting KIT · Dates & time

Swatch Internet Time

Turn any date and time into Swatch Internet Time: 11:00 UTC is @500.00, noon in Biel. The day has 1000 beats of 86.4 seconds each, counted from midnight in Biel Mean Time with no daylight saving. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Datetime
2024-03-01T11:00:00Z
You get
Utc
2024-03-01T11:00:00Z
Utc hour
11
Utc minute
0
Utc second
0

Swatch Internet Time divides the mean solar day into one thousand equal beats of 86.4 seconds each and labels the clock with an at-sign prefix such as @500.00. Beats are counted from midnight in Biel Mean Time, a fixed UTC-plus-one offset with no daylight-saving shift, so the same civil UTC instant always yields the same beat number. This Swatch Internet Time calculator accepts an explicit ISO-8601 datetime—with Z, a numeric offset, or date-only midnight UTC—normalizes it to Coordinated Universal Time from the string alone, then applies the deterministic formula beats equals UTC seconds-of-day plus 3600, modular 86400, divided by 86.4.

What Swatch .beats are and how Biel Mean Time anchors them

Swatch Internet Time was marketed as a zone-free day clock: instead of twenty-four hours and sixty minutes, a day has one thousand beats, each lasting exactly 86.4 SI seconds because 86400 divided by 1000 is 86.4. Notation conventionally writes the beat count with an at-sign, three integer digits, and optional centibeats—for example @000.00 at BMT midnight and @500.00 at BMT noon.

The origin of the day is midnight in Biel Mean Time, defined as Central European Time without daylight-saving changes, which is a permanent one-hour offset east of Coordinated Universal Time. Consequently @000 coincides with 23:00 UTC, @500 with 11:00 UTC, and a pure UTC midnight lands near @041.67. Because BMT never springs forward or falls back, the mapping from a UTC time-of-day to a beat number is a closed-form modular division with no geographic zone tables and no political calendar of DST transitions.

This capability implements only that arithmetic identity: it does not claim fashion-watch branding rights, does not query a live clock, and does not guess the caller’s local zone. Fractional input seconds, when present, participate in the division so sub-second timestamps still move the centibeats predictably. Date-only values are treated as midnight UTC on that calendar day, which is a deliberate contract for batch jobs that store dates without wall times.

Where Internet Time comes in handy

Content sites that rank for swatch internet time or beats converter benefit from a live tool whose free browser path matches the paid automation path byte-for-byte on one pure module. Event planners coordinating global online sessions sometimes publish a single beat target instead of a grid of city times; converting scheduled ISO instants to beats keeps marketing copy and calendar invites aligned. Logging pipelines that tag media releases or game events with Internet Time can batch-convert UTC audit stamps without pulling zoneinfo databases.

Failed validation does not consume balance.

Novelty clocks and chat bots

Convert any explicit ISO timestamp to @beats so web widgets and slash-commands agree on Swatch Internet Time without reading the server clock.

Global event copy and invites

Publish a single beat target for online events by converting scheduled UTC instants with the same BMT formula used in the free browser tool.

What is Biel Mean Time?

Biel Mean Time is a fixed UTC+1 offset with no daylight-saving change. Swatch .beats count from midnight BMT, so @000 is 23:00 UTC and @500 is 11:00 UTC.

Does the converter use my local timezone or the server clock?

No. Only the datetime string you provide is used. There is no Date.now(), no network lookup, and no dependency on the Worker’s wall clock or the browser’s zone.

What input formats are accepted?

YYYY-MM-DD, or full datetime with optional fractional seconds and Z or numeric ±HH:mm offset.

How long is one beat?

Exactly 86.4 seconds, because the 86400 seconds of a day divided by 1000 beats gives 86.4. A reading such as @500.00 shows three whole digits and two decimals.

Which UTC times match @000 and @500?

@000 falls at 23:00 UTC, which is midnight in Biel Mean Time, and @500 at 11:00 UTC, which is noon there. Midnight UTC itself lands near @041.67.

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/swatch-internet-time

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/swatch-internet-time \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"datetime":"2024-03-01T11:00:00Z"}'
{
  "datetime": "2024-03-01T11:00:00Z"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "date.swatch_internet_time",
  "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.

Invalid or incomplete datetimes fail with invalid_input instead of inventing a clock reading.

Input contract, response shape, and error behaviour

Full forms may use a T or space separator, optional fractional seconds up to nine digits, a trailing Z for UTC, or a numeric offset such as +01:00 or -0500. Date-only YYYY-MM-DD is accepted and interpreted as 00:00:00.000 UTC. The year must lie in 0001–9999, the month and day must form a real Gregorian calendar date (no 2023-02-29), and hour, minute, and second must sit in their ordinary ranges. Example: 2024-03-01T23:00:00Z yields @000.00. Example: 2024-03-01T00:00:00Z yields approximately @041.67. POST a JSON body with one required string field named datetime: an ISO-8601 calendar date or datetime. Missing fields, empty strings, non-strings, malformed shapes, impossible calendar days, and illegal offsets fail with invalid_input messages that name the problem; those failures are not billed. On success the body echoes the raw datetime string you sent, a normalized utc field as YYYY-MM-DDTHH:mm:ssZ (whole seconds), integer utc_hour, utc_minute, and utc_second, bmt_offset_hours fixed at 1, bmt_seconds as the seconds since BMT midnight after the modular step, beats as a number rounded to two decimals in the half-open range from 0 inclusive to 1000 exclusive, beats_display as the @ddd.bb string, and a formula string restating the identity used. Example: 2024-03-01T11:00:00Z yields beats 500 and beats_display @500.00 because 11:00 UTC is noon BMT. Pair the result with your own UI chrome if you need a live ticker; this endpoint converts one explicit instant per call and never reads the server wall clock.

Where a Swatch Internet Time API earns its keep

Keep requests small, pin beats and beats_display in tests, and you get reproducible Swatch Internet Time for widgets, LMS plugins, and edge workers without hosting custom chronology infrastructure of your own.

Teaching modular time arithmetic

Grade homework on fixed-offset day fractions against a deterministic API that never depends on the student machine’s local timezone.

How do I convert an ISO datetime to Swatch Internet Time?

Send a JSON body with datetime as an ISO-8601 string (Z, ±offset, or date-only). The API normalizes to UTC and returns beats and beats_display using BMT = UTC+1 and beats = ((utc_seconds_of_day + 3600) mod 86400) / 86.4.

What does the Swatch Internet Time converter cost?

The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.

Read the full KIT documentation →