Automatic Time Calculation in SCA

How to calculate the remaining time based on the given date (which is set in configuration record)

 automaticTimeCalc: function automaticTimeCalc(){
        
        	var date = Configuration.get('offerarea.eventDate');
			var countDownDate = new Date(date).getTime();
           
            var x = setInterval(function () {
  
            var now = new Date().getTime();
         
            var distance = countDownDate - now;
            
  
            var hours = Math.floor((distance % (1000 * 60 * 60 * 24 * 60)) / (1000 * 60 * 60));
            var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
            var seconds = Math.floor((distance % (1000 * 60)) / 1000);
  
  
            document.getElementById("hours").innerHTML = hours+":";
            document.getElementById("minutes").innerHTML = minutes+":";
            document.getElementById("seconds").innerHTML = seconds;
            var seconds = document.getElementById("seconds");
          
            var second_get = $('#seconds').text();
         
            var myVar = Number(second_get)
            
            var l = Math.pow(10, Math.floor(Math.log(myVar) / Math.log(10)) - 1);            
            var b = Math.floor(myVar / l);
           
            var ones = b - Math.floor(b / 10) * 10;
         
            var tens = Math.floor((b / 10) % 10);
          
            var null_tens = Number.isNaN(tens)
            
           if (myVar < 10) {
  
                if (null_tens == true) {
                    document.getElementById('seconds').innerHTML = "<span id='tens'>" + 0 + "</span><span id='ones'>" + 0 + "</span>";
                    document.getElementById('ones').style.display = 'inline';
                    document.getElementById('tens').style.display = 'inline';
                    document.getElementById("ones").style.color = "#ff0000";
                    document.getElementById("ones").style.fontSize = '1em';
                    document.getElementById("tens").style.fontSize = '1em';
                }
                else {
                    document.getElementById('seconds').innerHTML = "<span id='tens'>" + Number(ones) + "</span><span id='ones'>" + Number(tens) + "</span>";
                    document.getElementById('ones').style.display = 'inline';
                    document.getElementById('tens').style.display = 'inline';
                    document.getElementById("ones").style.color = "#ff0000";
                    document.getElementById("ones").style.fontSize = '1em';
                    document.getElementById("tens").style.fontSize = '1em';
                }
            }
            else {
  
                if (null_tens == true) {
                    document.getElementById('seconds').innerHTML = "<span id='tens'>" + 0 + "</span><span id='ones'>" + 0 + "</span>";
                    document.getElementById('ones').style.display = 'inline';
                    document.getElementById('tens').style.display = 'inline';
                    document.getElementById("ones").style.color = "#ff0000";
                    document.getElementById("ones").style.fontSize = '1em';
                    document.getElementById("tens").style.fontSize = '1em';
                }
                else {
                    document.getElementById('seconds').innerHTML = "<span id='tens'>" + Number(tens) + "</span><span id='ones'>" + Number(ones) + "</span>";
                    document.getElementById('ones').style.display = 'inline';
                    document.getElementById('tens').style.display = 'inline';
                    document.getElementById("ones").style.color = "#ff0000";
                    document.getElementById("ones").style.fontSize = '1em';
                    document.getElementById("tens").style.fontSize = '1em';
                }
            }
  
            if (distance < 0) {
                clearInterval(x);
                var el = document.getElementById("image");
                el.style.display="none";
           }
            
         },1);
       
    }

Leave a comment

Your email address will not be published. Required fields are marked *