This is an old revision of the document!
Table of Contents
Swatch Internet Time / .beat Time
<fs xx-large><span id
Other useful links!
- Swatch time discussion thread on our forum!
- The Swatch intro video from 1998
- Swatch Time History on Wikipedia
- Metric Time on Wikipedia https://en.wikipedia.org/wiki/Metric_time
—-
Code Snippets
You can also include a swatch clock on your website; here are some premade code snippets you can use!
JavaScript:
JavaScript - Easy Option
Here is a premade JavaScript clock for your website! Just paste this code onto your page wherever you want your clock to be and it will work!
<span id="swatchClock">@000</span> <script defer src="https://melonking.net/scripts/swatchTime.js"></script>
JavaScript - Full 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 set 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:
PHP has native support for Swatch time, you can get the latest beat using this snippet:
$swatchTime = date('B'); //000-999
However if you would like a full function that also shows microbeats, we have that too!
// Returns the current Swatch beat function GetSwatchTime($showDecimals = true) { // Get time in UTC+1 (Do not Change!) $now = new DateTime("now", new DateTimeZone("UTC")); $now->add(new DateInterval("PT1H")); // 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)); } }