Template:IxTime: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary Tag: 2017 source edit |
m v2 Tag: 2017 source edit |
||
Line 2: | Line 2: | ||
<span id="ix-time-display">Loading Ix Time...</span> | <span id="ix-time-display">Loading Ix Time...</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", | |||
timeZoneName: "short", | |||
}; | |||
return ixDate.toLocaleString("en-US", options); | |||
} | |||
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> |
Revision as of 20:18, 3 August 2024
Loading Ix Time...