Friday, 13 December 2013

Time remaining & Time lapsed -> js

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Counter example</title>
<script>
var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
var dayarray= new Array("Sun","Mon" ,"Tue","Wed","Thu","Fri","Sat");
//Event Informations
//Xmas 2013
var year = 2013;          
var month = 11;              
var day = 25;//(1..31)              
var hour = 0;//(0..24)              
var minute = 0;          
var second = 0;  
var xmas = new Date(year,month,day,hour,minute,second);
function TimeCounter(){
    var now = new Date();
    if(now.getYear() < 1900)
        yr = now.getYear() + 1900;  
   
     if(now >= xmas){//Days after xmas
     //Days lapsed xmas - Ascending time

     var todaym=now.getMonth()
     var todayd=now.getDate()
     var todayh=now.getHours()
     var todayday= dayarray[now.getDay()]
     var endday=dayarray[xmas.getDay()]
     var sec =  now.getSeconds();
    var min =  now.getMinutes();
    var hr = 24 -(hour - (now.getHours() -1));
    var todaystring=todayday +", "+todayd+" "+montharray[todaym]+" "+yr+" "+todayh+":"+min+":"+sec //see         https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse
    var paststring=endday +", "+day+" "+montharray[month]+" "+year+" "+hour+":"+minute+":"+second

    var difference=(Math.round(  (Date.parse (todaystring) -Date.parse (paststring) ) / (24*60*60*1000) )*1)
      
     if(difference<0){
      dy=0
      }
     else{
      dy=difference
     }
  
    if(sec > 60){
        sec = (sec-60)%60;
        min++;
    }
    if(min > 60){
        min = (min-60)%60;
        hr++;  
    }
    if(hr > 23){
        hr = (hr-24)%24;
        //dy++;  
    }
        document.getElementById("TimeCounter").innerHTML =" + days "+ dy +"                   " +"     hours "+ hr +"           minutes " + min +"'           seconds "+ sec+"''   after xmas 2013          "  ;
     }
     else{//Days before xmas
     //Days remaining xmas - Descending time
      var sec = second - now.getSeconds();
      var min = minute - now.getMinutes();
      var hr = hour - now.getHours();
      var dy = day - now.getDate();
      var mnth = month - now.getMonth();
      var yr = year - yr;
      var daysinmnth = 32 - new Date(now.getYear(),now.getMonth(), 32).getDate();//How many days it has the month
    if(sec < 0){//if second is less than zero diminish minute
        sec = (sec+60)%60;
        min--;
    }
    if(min < 0){//if minute is less than zero diminish hour
        min = (min+60)%60;
        hr--;  
    }
    if(hr < 0){//if hour is less than zero diminish day
        hr = (hr+24)%24;
        dy--;  
    }
    if(dy < 0){//if day is less than zero diminish month
        dy = (dy+daysinmnth)%daysinmnth;
        mnth--;  
    }
    if(mnth < 0){//if month is less than zero diminish year
        mnth = (mnth+12)%12;
        yr--;
    }  
    document.getElementById("TimeCounter").innerHTML =" - days "+ dy +"                   " +"     hours "+ hr +"           minutes " + min +"'           seconds "+ sec+"''  for xmas  2013         "  ;
    
     }
    
    ID = setTimeout("TimeCounter()", 1000);
}
window.onload=TimeCounter;
</script>
</head>

<body>
 <span id="TimeCounter"></span>
</body>
</html>

No comments:

Post a Comment

Note: only a member of this blog may post a comment.