我是一位在过去几个月里一直在学习Jscript的新手。我遇到了以下函数,它计算了今天和指定日期之间的差距。但是,我想将此函数转换为计算多个日期(例如,当var eventuate是1/2/2011,当它的2/2/2012等时)。有谁能请赐教我如何实现这个目标?
***********更新21/10/2014 ********
我想我可能会让很多人感到困惑,但我没有得到我想要的答案。 我想重新解释一下这个问题:脚本会计算从设定日期开始到今天的天数,并将其显示为计时器。但是,我现在只能显示一行计时器,但我一直试图找出一种方法来显示多个计时器来计算不同的日期。 我想过使用一个循环,但我在javascript环境中失败了。谁能请你再帮我一次? 非常感谢,艾弗森
<script language="JavaScript">
function setDate(){
var eventdate = new Date("May 1, 1996")
var now = new Date();
count=Math.floor((now.getTime()-eventdate.getTime())/1000);
document.clock.secs.value = count%60;
count = Math.floor(count/60);
document.clock.mins.value = count%60;
count = Math.floor(count/60);
document.clock.hours.value = count%24;
count = Math.floor(count/24);
if (count >= 365){
document.clock.days.value = count - 365*Math.floor(count/365);
}
else{
document.clock.days.value = count
}
count=Math.floor(count/365);
document.clock.years.value=count
hour = new Number(document.clock.hours.value)
min = new Number(document.clock.mins.value)
sec = new Number(document.clock.secs.value)
day = new Number(document.clock.days.value)
year = new Number(document.clock.years.value)
timer()
}
function timer(){
if ((min < 10) && (min != "00")){
dismin = "0" + min
}
else{
dismin = min
}
if ((hour < 10) && (hour != "00")){
dishour = "0" + hour
}
else{
dishour = hour
}
dissec = (sec < 10) ? sec = "0" + sec : sec
document.clock.secs.value = dissec
document.clock.mins.value = dismin
document.clock.hours.value = dishour
document.clock.days.value = day
document.clock.years.value = year
if (sec < 59){
sec++
}
else{
sec = "0"
min++
if (min > 59){
min = "00"
hour++
if (hour > 23){
hour = "0"
day++
if (day >364){
day = "0"
year++
}
}
}
}
window.setTimeout("timer()",1000)
}
// -->
</script>
<body onLoad="setDate()">
<form name="clock">
<table border=3>
<tr>
<td>Years:</td>
<td>Days:</td>
<td>Hours:</td>
<td>Mins:</td>
<td>Secs:</td>
</tr>
<tr>
<td><input name="years" size="4"></td>
<td><input name="days" size="4"></td>
<td><input name="hours" size="4"></td>
<td><input name="mins" size="4"></td>
<td><input name="secs" size="4"></td>
</tr>
</table></form>
答案 0 :(得分:0)
改变这个:
function setDate(){
var eventdate = new Date("May 1, 1996")
var now = new Date();
对此:
function setDate(dateNumber1, dateNumber2){
而不是像这样调用它:
setDate();
你会这样称呼它:
var dateNumber1 = new Date("May 1, 1996");
var dateumber2 = new Date("May 2, 2011");
setDate(dateNumber1, dateNumber2);
显然,在&#34; eventDate&#34;中更改setDate函数中变量的名称。和&#34;现在&#34;到&#34; dateNumber1&#34;和&#34; dateNumber2&#34;,但逻辑应该是相同的。
答案 1 :(得分:0)
而不是所有这些,您可以轻松地为两个日期采用时间戳并减去它 您将获得两天之间的秒数,并且在此秒的帮助下,您可以计算天数。