-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathswatch.js
37 lines (36 loc) · 1.73 KB
/
swatch.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// https://melonking.net - Swatch Clock! v2
// The script displays a live Swatch Internet Time clock on your website!
// For more info on swatch time visit https://wiki.melonland.net/swatch_time
//
// How to this script; just paste this onto your site where ever you want the clock to show:
// <span id="swatchClock">@000</span>
// OR if you dont want the info link
// <span id="swatchClock-nolink">@000</span>
// <script defer src="https://melonking.net/scripts/swatchTime.js"></script>
var swatchClock = document.getElementById("swatchClock");
var swatchClockNoLink = document.getElementById("swatchClock-nolink");
function updateSwatchClock() {
if (swatchClock != null) swatchClock.innerHTML = '<a style="color:red" href="https://wiki.melonland.net/swatch_time" target="_blank">@' + GetSwatchTime() + "</a>";
if (swatchClockNoLink != null) swatchClockNoLink.innerHTML = "@" + GetSwatchTime();
}
setInterval(updateSwatchClock, 864);
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));
}
}