Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 497
  • Last Modified:

expire time comparing string

I have  the following code that will set a timer to any given label.  The question is I want the ability to pass to this function a expire time to a specific label.  So not comparing times but actual string saying if the time is 00:10:10  then it would change the label to red using jquey. So i am not sure if the timer would need some sort of listener.  On change listener.  
//Timer JQuery function
(function ($) {
   totaltime = "00:00:00";
	$.do_time = function(timerID) {
		
		var time = ($("#" + timerID).html()).split(':');
		var hour = parseInt(time[0], 10);
		var minute = parseInt(time[1], 10);
		var second = parseInt(time[2], 10) + 1;
		
		var ttime = totaltime.split(':');
		var thour = parseInt(ttime[0], 10);
		var tminute = parseInt(ttime[1], 10);
		var tsecond = parseInt(ttime[2], 10) + 1;
		
		if (second > 59) {
			second = 0;
			minute++;
		}
		if (minute > 59) {
			minute = 0;
			hour++;
		}
		if (tsecond > 59) {
			tsecond = 0;
			tminute++;
		}
		if (tminute > 59) {
			tminute = 0;
			thour++;
		}
		
		time = (hour>9?hour:'0'+hour) +':'+ (minute>9?minute:'0'+minute) +':'+ (second>9?second:'0'+second);
		$("#" + timerID).html(time);
		totaltime = "" + (thour>9?thour:'0'+thour) +':'+ (tminute>9?tminute:'0'+tminute) +':'+ (tsecond>9?tsecond:'0'+tsecond);
	} //End Doo time function
	$.displayTotal = function(labelID) {
		$("#" + labelID).html(totaltime);
	}
})(jQuery);

Open in new window

0
stargateatlantis
Asked:
stargateatlantis
1 Solution
 
sam2912Commented:

<!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></title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script language="javascript">
$(document).ready(function () {
	$("#btn1Start").click(function () {
		timer1 = setInterval("$.do_time('timer1', '00:00:05')", 1000);
		$(this).attr("disabled", true);
	});
	$("#btn2Start").click(function () {
		timer2 = setInterval("$.do_time('timer2', '00:00:10')", 1000);
		$(this).attr("disabled", true);
	});
	$("#btn3Start").click(function () {
		timer3 = setInterval("$.do_time('timer3')", 1000);
		$(this).attr("disabled", true);
	});
	totaltimer = setInterval("$.displayTotal('totaltimer')", 1000);
});
//Timer JQuery function
(function ($) {
   totaltime = "00:00:00";
	$.do_time = function(timerID, expireTime) {
		
		var time = ($("#" + timerID).html()).split(':');
		var hour = parseInt(time[0], 10);
		var minute = parseInt(time[1], 10);
		var second = parseInt(time[2], 10) + 1;
		
		var ttime = totaltime.split(':');
		var thour = parseInt(ttime[0], 10);
		var tminute = parseInt(ttime[1], 10);
		var tsecond = parseInt(ttime[2], 10) + 1;
		
		if (second > 59) {
			second = 0;
			minute++;
		}
		if (minute > 59) {
			minute = 0;
			hour++;
		}
		if (tsecond > 59) {
			tsecond = 0;
			tminute++;
		}
		if (tminute > 59) {
			tminute = 0;
			thour++;
		}
		
		if(expireTime) {
			var expired = false;
			var etime = expireTime.split(':');
			var ehour = parseInt(etime[0], 10);
			var eminute = parseInt(etime[1], 10);
			var esecond = parseInt(etime[2], 10);
			
			if(ehour<hour) {
				expired = true;
			}
			else if(ehour==hour) {
				if(eminute<minute) {
					expired = true;
				}
				else if(eminute==minute) {
					if(esecond<=second) {
						expired = true;
					}
				}
			}
			
			if(expired) {
				$("#" + timerID).css("background-color", "red");
			}
		}
		
		time = (hour>9?hour:'0'+hour) +':'+ (minute>9?minute:'0'+minute) +':'+ (second>9?second:'0'+second);
		$("#" + timerID).html(time);
		totaltime = "" + (thour>9?thour:'0'+thour) +':'+ (tminute>9?tminute:'0'+tminute) +':'+ (tsecond>9?tsecond:'0'+tsecond);
	} //End Doo time function
	$.displayTotal = function(labelID) {
		$("#" + labelID).html(totaltime);
	}
})(jQuery);
</script>
</head>
<body>
<table width="300">
   <tr>
      <td id="timer1">00:00:00</td>
      <td><input type="button" id="btn1Start" value="button1" /> (Expires in 5 seconds)</td>
   </tr>
   <tr>
      <td id="timer2">00:00:00</td>
      <td><input type="button" id="btn2Start" value="button2" /> (Expires in 10 seconds)</td>
   </tr>
   <tr>
      <td id="timer3">00:00:00</td>
      <td><input type="button" id="btn3Start" value="button3" /> (Does not expire)</td>
   </tr>
   <tr>
      <td id="totaltimer">00:00:00</td>
      <td></td>
   </tr>
</table>
</body>
</html>

Open in new window

0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now