Template:IxTime: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary Tag: 2017 source edit |
mNo edit summary Tag: 2017 source edit |
||
(11 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<html> | <html> | ||
<span id="ix-time-display"> | <span id="ix-time-display">{{#invoke:IxTime|getCurrentIxTime}}</span> | ||
<script> | <script> | ||
function calculateIxTime() { | (function() { | ||
function calculateIxTime() { | |||
var epoch = new Date(2020, 9, 4).getTime() / 1000; | |||
var currentTime = Math.floor(new Date().getTime() / 1000); | |||
var secondsSinceEpoch = currentTime - epoch; | |||
var ixTime = Math.floor(secondsSinceEpoch * 4.0 + epoch); | |||
var ixDate = new Date(ixTime * 1000); | |||
var options = { | |||
weekday: "long", | |||
year: "numeric", | |||
month: "long", | |||
day: "numeric", | |||
hour: "2-digit", | |||
minute: "2-digit", | |||
second: "2-digit", | |||
hour12: true, | |||
}; | |||
return ixDate.toLocaleString("en-US", options) + " (local time)"; | |||
} | |||
function updateIxTime() { | |||
var displayElement = document.getElementById("ix-time-display"); | |||
if (displayElement) { | |||
displayElement.textContent = calculateIxTime(); | |||
} | |||
} | |||
// Update immediately | |||
updateIxTime(); | |||
// Update every second | |||
setInterval(updateIxTime, 1000); | |||
// Reattach to DOM if element is removed | |||
var observer = new MutationObserver(function(mutations) { | |||
mutations.forEach(function(mutation) { | |||
if (mutation.type === 'childList') { | |||
var displayElement = document.getElementById("ix-time-display"); | |||
if (!displayElement) { | |||
var newElement = document.createElement('span'); | |||
newElement.id = 'ix-time-display'; | |||
document.body.appendChild(newElement); | |||
updateIxTime(); | |||
} | |||
} | |||
}); | |||
}); | |||
observer.observe(document.body, { childList: true, subtree: true }); | |||
})(); | |||
</script> | </script> | ||
</html> | </html> |
Latest revision as of 20:54, 3 August 2024
{{#invoke:IxTime|getCurrentIxTime}}