Difference between revisions of "Widget:Countdown"

From Octopath Traveler Speedruns
Jump to navigation Jump to search
Line 6: Line 6:


// Conversion from Eastern Time to UTC
// Conversion from Eastern Time to UTC
var dst = 5 * 60;
var easternTimeOffset = 5 * 60 * 60000;
if (<!--{$dst}-->) {
if (<!--{$dst}-->) {
   var dst = 4 * 60;
   var easternTimeOffset = 4 * 60 * 60000;
}
}


var rawDateTimeET = new Date("<!--{$time}-->").getTime();
var rawDateTimeET = new Date("<!--{$time}-->").getTime();
var countDownDateUTC = rawDateTimeET + dst;
var countDownDateUTC = rawDateTimeET + easternTimeOffset;


// Update the count down every 1 second
// Update the count down every 1 second
Line 18: Line 18:
   // Get the users date and time and convert to UTC
   // Get the users date and time and convert to UTC
   var rawNow = new Date();
   var rawNow = new Date();
   var nowUTC = rawNow.getTime() + rawNow.getTimezoneOffset();
   var nowUTC = rawNow.getTime() + (rawNow.getTimezoneOffset() * 60000);


   // Find the distance between now and the count down date
   // Find the distance between now and the count down date

Revision as of 05:04, 27 January 2019

ET
-1d -1h -1m -1s

<script> // Modified version of https://www.w3schools.com/howto/howto_js_countdown.asp

// Conversion from Eastern Time to UTC var easternTimeOffset = 5 * 60 * 60000; if () {

 var easternTimeOffset = 4 * 60 * 60000;

}

var rawDateTimeET = new Date("").getTime(); var countDownDateUTC = rawDateTimeET + easternTimeOffset;

// Update the count down every 1 second var x = setInterval(function() {

 // Get the users date and time and convert to UTC
 var rawNow = new Date();
 var nowUTC = rawNow.getTime() + (rawNow.getTimezoneOffset() * 60000);
 // Find the distance between now and the count down date
 var distance = countDownDateUTC - nowUTC;
 // Time calculations for days, hours, minutes
 var days = Math.floor(distance / (1000 * 60 * 60 * 24));
 var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
 var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
 // Display the result in the element with id="countdown"
 if (days > 0) {
   document.getElementById("countdown").innerHTML = "(In about " + days + " days and " + hours + " hours)";
 } else if (days < 0) {
   document.getElementById("countdown").innerHTML = "(In about " + hours + " hours and " + minutes + " minutes)";
 } else if (distance < 0) {
   clearInterval(x);
   document.getElementById("countdown").innerHTML = "The race has ended.";
 }

}, 1000); </script>