~Matt~ Posted August 29, 2009 Share Posted August 29, 2009 I was wondering how you could aachieve a javascript countdown between two dates eg:August 26, 2009 14:53:51 and August 29, 2009 14:53:5 in the format:Xdays Xhours:Xminutes:X seconds Can someone tell me how to?/point me in a direction?/code this? Link to comment Share on other sites More sharing options...
0 Phantom Helix Posted August 29, 2009 Share Posted August 29, 2009 I was wondering how you could aachieve a javascript countdown between two dates eg:August 26, 2009 14:53:51 and August 29, 2009 14:53:5in the format:Xdays Xhours:Xminutes:X seconds Can someone tell me how to?/point me in a direction?/code this? Very top hit from entering " javascript countdown to date " in google http://www.javascriptkit.com/script/script2/count2.shtml <form name="count"> <input type="text" size="69" name="count2"> </form> <script> /* Count down until any date script- By JavaScript Kit (www.javascriptkit.com) Over 200+ free scripts here! */ //change the text below to reflect your own, var before="Christmas!" var current="Today is Christmas. Merry Christmas!" var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec") function countdown(yr,m,d){ theyear=yr;themonth=m;theday=d var today=new Date() var todayy=today.getYear() if (todayy < 1000) todayy+=1900 var todaym=today.getMonth() var todayd=today.getDate() var todayh=today.getHours() var todaymin=today.getMinutes() var todaysec=today.getSeconds() var todaystring=montharray[todaym]+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec futurestring=montharray[m-1]+" "+d+", "+yr dd=Date.parse(futurestring)-Date.parse(todaystring) dday=Math.floor(dd/(60*60*1000*24)*1) dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1) dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1) dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1) if(dday==0&&dhour==0&&dmin==0&&dsec==1){ document.forms.count.count2.value=current return } else document.forms.count.count2.value="Only "+dday+ " days, "+dhour+" hours, "+dmin+" minutes, and "+dsec+" seconds left until "+before setTimeout("countdown(theyear,themonth,theday)",1000) } //enter the count down date using the format year/month/day countdown(2002,12,25) </script> <p align="center"><font face="arial" size="-2">This free script provided by</font><br> <font face="arial, helvetica" size="-2"><a href="http://javascriptkit.com">JavaScript Kit</a></font></p> Link to comment Share on other sites More sharing options...
0 ~Matt~ Posted August 29, 2009 Author Share Posted August 29, 2009 That appears to use the time from the client machine in the calculation of the difference. What I want is to be able to set the two dates- down to the very second. =S Link to comment Share on other sites More sharing options...
0 Phantom Helix Posted August 29, 2009 Share Posted August 29, 2009 so you want it to access the timestamp from the server its running for accuracy? you could modify this to do that from date to date. not sure exactly though why from a specific date to another? you could use two counters, one time since xx.xx.xx.xx and another to a date like this one Link to comment Share on other sites More sharing options...
0 ~Matt~ Posted August 29, 2009 Author Share Posted August 29, 2009 I'm not very experienced with javascript Link to comment Share on other sites More sharing options...
0 XerXis Posted August 29, 2009 Share Posted August 29, 2009 change to function countdown(yr,m,d,yrstart,mstart,dstart){ theyear=yr;themonth=m;theday=d futurestring=montharray[m-1]+" "+d+", "+yr var todaystring=montharray[mstart-1]+" "+dstart+", "+yrstart dd=Date.parse(futurestring)-Date.parse(todaystring) dday=Math.floor(dd/(60*60*1000*24)*1) dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1) dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1) dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1) if(dday==0&&dhour==0&&dmin==0&&dsec==1){ document.forms.count.count2.value=current return } else document.forms.count.count2.value="Only "+dday+ " days, "+dhour+" hours, "+dmin+" minutes, and "+dsec+" seconds left until "+before setTimeout("countdown(theyear,themonth,theday,yrstart,mstart,dstart)",1000) } //enter the count down date using the format year/month/day countdown(2002,12,25,2003,12,25) something like that, didn't test it though Link to comment Share on other sites More sharing options...
0 ~Matt~ Posted August 29, 2009 Author Share Posted August 29, 2009 and perhaps please add an input/function that I could use to add the second date? :rolleyes: Appears to have errors too =S Link to comment Share on other sites More sharing options...
Question
~Matt~
I was wondering how you could aachieve a javascript countdown between two dates eg:August 26, 2009 14:53:51 and August 29, 2009 14:53:5
in the format:Xdays Xhours:Xminutes:X seconds
Can someone tell me how to?/point me in a direction?/code this?
Link to comment
Share on other sites
6 answers to this question
Recommended Posts