@BEAT TIME NOW
Your Location
@000.00
--:--
---

Convert

@500
12:00 PM
min
42 beats
beats
144 min

Explore

Simulation
@500
@000@250@500@750@999


Code Samples

Drop these into your projects.

Web
Shell
Systems
JavaScript
function getSwatchBeats() {
  const now = new Date();
  const bmt = new Date(now.getTime() + 3600000); // UTC+1
  const ms = bmt.getUTCHours() * 3600000
           + bmt.getUTCMinutes() * 60000
           + bmt.getUTCSeconds() * 1000
           + bmt.getUTCMilliseconds();
  return (ms / 86400000) * 1000;
}

// Display: @XXX.XX
console.log('@' + getSwatchBeats().toFixed(2).padStart(6, '0'));
PHP
<?php
// PHP has native support!
echo '@' . date('B'); // Current beat time

// With decimals (centibeats)
$now = new DateTime('now', new DateTimeZone('Europe/Zurich'));
$midnight = clone $now;
$midnight->setTime(0, 0);
$seconds = $now->getTimestamp() - $midnight->getTimestamp();
$beats = $seconds / 86.4;
echo '@' . number_format($beats, 2);
?>
Bash
#!/bin/bash
# Calculate Swatch Internet Time
MIDNIGHT=$(TZ='Etc/GMT-1' date -d "12:00 am" +%s)
BEATS=$(( (($EPOCHSECONDS - $MIDNIGHT) * 1000) / 86400 ))
echo "@$BEATS"
Python
from datetime import datetime, timezone, timedelta

def get_beats():
    bmt = datetime.now(timezone(timedelta(hours=1)))
    midnight = bmt.replace(hour=0, minute=0, second=0, microsecond=0)
    seconds = (bmt - midnight).total_seconds()
    return (seconds / 86.4) % 1000

print(f"@{get_beats():06.2f}")
C
#include <stdio.h>
#include <time.h>

int main() {
    time_t now = time(NULL) + 3600; // UTC+1
    struct tm *bmt = gmtime(&now);
    int seconds = bmt->tm_hour * 3600
                + bmt->tm_min * 60
                + bmt->tm_sec;
    double beats = (seconds / 86.4);
    printf("@%06.2f\n", beats);
    return 0;
}


Time Shrine

Internet Time
Netscape
Notepad
Any Browser
WWW
WELCOME TO THE INTERNET @BEAT TIME SHRINE
~ EST. 1998 ~ BIEL, SWITZERLAND ~

@000
THE SAME MOMENT, EVERYWHERE ON EARTH
NOW PLAYING: time_zone_free.mid

ONE WORLD * ONE TIME * NO TIMEZONES * SINCE 1998 * BIEL MEAN TIME * 1000 BEATS PER DAY * SWATCH DID NOTHING WRONG * ONE WORLD * ONE TIME * REJECT TRAD-TIME MODERNITY EMBRACE BEATS * ONE WORLD * ONE TIME * NO TIMEZONES * SINCE 1998 * BIEL MEAN TIME * 1000 BEATS PER DAY * SWATCH DID NOTHING WRONG * ONE WORLD * ONE TIME * REJECT TRAD-TIME MODERNITY EMBRACE BEATS *
. * . * . * . * . * @BEATS * @BEATS * . * . * . * . * . ╔══════════════════════════════╗ ║ TIME ZONES ARE A CONSTRUCT ║ ║ EMBRACE THE BEAT ║ ╚══════════════════════════════╝ . * . * . * . * .
konichiwa

So back in 1998, Swatch (yes, the watch company) decided that time zones were stupid (they were right) and invented Internet Time. The whole day is 1000 beats. No AM/PM. No "wait, are you EST or EDT?" No mental math. Just the same time, globally.

CNN put it on their website. ICQ had it built in. Phantasy Star Online used it to coordinate raids across the globe. It was genuinely ahead of its Time.

It never really caught on, and we're here to survive its legacy. Beat Time is alive and well in some of the far corners of the internet.

500 beats somewhere

🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
* * * * *
Internet Time Netscape Now Internet Explorer Made with Notepad Any Browser
WWW Valid HTML Free Speech Online No Cookies NFT Free
Linux Powered by Caffeine Best viewed with eyes Y2K Ready Email Me
* * * * *

~ DISCIPLES OF @BEAT TIME ~

fellow travelers who have seen the light of @beat Time

Beatchan
* * * * *

~ THE BEAT TIME DECREE ~

renounce the 24 zones before the shrine ~ receive thy certificate

* * * * *

SIGN THE GUESTBOOK

AGORA ROAD SWATCH
Counter YOU ARE VISITOR #1337
<< prev [ INTERNET TIME WEBRING ] next >>
IE
GeoCities
Valid HTML
No Cookies
NFT Free