我是一个新手,在过去的几个月里一直在学习Jscript。我遇到了以下函数,它计算今天和指定日期之间的间隔。然而,我想将此函数用于计算多个日期(例如,当var eventuate为2011年2月1日时,当其为2012年2月2日时,等等)。有人能告诉我如何做到这一点吗?
***********更新日期:2014年10月21日********
我想我可能混淆了很多人,我没有得到我想要的答案。我想重新表述一下这个问题:脚本计算从设定日期到今天的天数,并将其显示为计时器。然而,我现在只能显示一行计时器,但我一直在想办法显示多个计时器来计算不同的日期。我曾想过使用循环,但在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>
更改此项:
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);
显然,可以将setDate函数中变量的名称从"eventDate"one_answers"now"更改为"dateNumber1"one_answers"dateNumber 2",但逻辑应该相同。
您可以轻松地获取日期的时间戳并将其减去。
你会得到这两天之间的秒数,借助这几秒你可以计算天数。