This is an old revision of the document!
Table of Contents
Swatch Internet Time / Beat Time
Swatch time is a universal standard time for the entire internet! It lets you plan events or meetups with your friends from anywhere in the world and not have to worry about timezones or other annoyances! Its also hella hacker and very cool to use :^)
It was originally invented by the Swatch Company in 1998 although it did not gain much widespread popularity - however it's used on MelonLand and many other web revival sites as a standard means of organisation and planning!
How does it work?
It divides the day into 1000 “beats”. Instead of using hours, minutes, and seconds to represent time, Swatch Internet Time uses a single decimal number ranging from 000 to 999. Each beat is equivalent to 1 minute and 26.4 seconds. Sometimes you'll also see some extra numbers like “.56” these are microbeats and are smiler to seconds.
Swatch time is usually preceded by an @ symbol; this helps you know its swatch time and not some random number! For example @123 or @542.69
000 in Swatch time is the same as Midnight UTC+1; but because swatch time does not use timezones, midnight will be different for everyone. The goal of swatch time is not to provide the relative time you can use in your daily life; it's for worldwide events that all need to happen at the same time!
How can I use swatch time in my life?
Easy; just use swatch time when you are planning your events or meetups and get your friends to do the same! There are even some apps that can help you!
Swatch Time Apps for various platforms:
- All Apple devices, including Apple Watch - BeatTime
- Android - Beat Time Widget
- Pebble Smart Watches - See Beat apps
- macOS Menubar - dotbeat
Other useful links!
- Swatch time discussion thread on our forum!
- The Swatch intro video from 1998
- Swatch Time History on Wikipedia
Code Snippets
You can also include a swatch clock on your website; here are some premade code snippets you can use!
Javascript Code:
// Returns the current Swatch beat
function GetSwatchTime(showDecimals = true) {
// get date in UTC/GMT
var date = new Date();
var hours = date.getUTCHours();
var minutes = date.getUTCMinutes();
var seconds = date.getUTCSeconds();
var milliseconds = date.getUTCMilliseconds();
// add hour to get time in Switzerland
hours = hours == 23 ? 0 : hours + 1;
// time in seconds
var timeInMilliseconds = ((hours * 60 + minutes) * 60 + seconds) * 1000 + milliseconds;
// there are 86.4 seconds in a beat
var millisecondsInABeat = 86400;
// calculate beats to two decimal places
if (showDecimals) {
return Math.abs(timeInMilliseconds / millisecondsInABeat).toFixed(2);
} else {
return Math.floor(Math.abs(timeInMilliseconds / millisecondsInABeat));
}
}
If you want it to display on your webpage and auto-update here is an example - first, we make a span with an id, this is where the clock will appear on your page - then we get that span in a script, make a function that fills it with the swatch time, and finally, we sit it to reload every microbeat.
<span id="mySwatchClock"></span>
<script>
var mySwatchClock = document.getElementById('mySwatchClock');
function updateSwatchClock() {
mySwatchClock.innerHTML = '@' + GetSwatchTime();
}
setInterval(updateSwatchClock(), 864);
</script>
PHP Code:
// Returns the current Swatch beat
function GetSwatchTime($showDecimals = true)
{
// Get time in Zurich - DO NOT CHANGE - Swatch central time
$now = new DateTime("now", new DateTimeZone("Europe/Zurich"));
// Calculate the seconds since midnight e.g. time of day in seconds
$midnight = clone $now;
$midnight->setTime(0, 0);
$seconds = $now->getTimestamp() - $midnight->getTimestamp();
// Swatch beats in seconds - DO NOT CHANGE
$swatchBeatInSeconds = 86.4;
// Calculate beats to two decimal places
if ($showDecimals) {
return number_format(round(abs($seconds / $swatchBeatInSeconds), 2), 2);
} else {
return floor(abs($seconds / $swatchBeatInSeconds));
}
}
