Javascript重复天数计数器
我需要一个JavaScript函数,返回每年某个特定日期的剩余天数 我发现了下面的代码,但是如何使它每年都可以重复,而不是手动更改函数中的年份Javascript重复天数计数器,javascript,Javascript,我需要一个JavaScript函数,返回每年某个特定日期的剩余天数 我发现了下面的代码,但是如何使它每年都可以重复,而不是手动更改函数中的年份 function daysUntil(year, month, day) { var now = new Date(), dateEnd = new Date(year, month - 1, day), // months are zero-based days = (dateEnd - now) / 1000/60/60/
function daysUntil(year, month, day) {
var now = new Date(),
dateEnd = new Date(year, month - 1, day), // months are zero-based
days = (dateEnd - now) / 1000/60/60/24; // convert milliseconds to days
return Math.round(days);
}
daysUntil(2013, 10, 26);
我认为我上面的问题不够清楚,我需要显示10月26日的剩余天数。因此,每年的10月27日再次开始。我不需要一个循环 “如何使其每年都可重复,而不是手动更改功能中的年份?” 好吧,你不可能做到每年无限,但你可以很容易地添加一个循环来获得一个特定的年数范围:
var d;
for (var y = 2013; y < 2099; y++) {
d = daysUntil(y, 10, 26);
// do something with d, e.g.,
console.log(d);
}
vard;
对于(变量y=2013;y<2099;y++){
d=第(y,10,26)天;
//用d做某事,例如。,
控制台日志(d);
}
更新:您在问题中添加了以下详细信息:
“我认为我上面的问题不够清楚,我需要显示10月26日的剩余天数。因此,每年10月27日再次开始。我不需要循环。”
好的,这还不是很清楚,但我想你是说你的输入将只是一天和一个月,你想计算到下一天/月的天数,例如,到下一个生日的天数。如果是这样的话,可能是这样的:
function daysUntil(month, day) {
var now = new Date(),
currentYear = now.getFullYear(),
dateEnd = new Date(currentYear, month - 1, day); // months are zero-based
if (dateEnd - now < 0) // have we already passed that date this year?
dateEnd.setFullYear(currentYear + 1);
return Math.ceil((dateEnd - now) / 1000/60/60/24);
}
console.log(daysUntil(10,11)); // 365 - results from today, Oct 11
console.log(daysUntil(10,26)); // 15
console.log(daysUntil(7,7)); // 269
功能日直至(月、日){
var now=新日期(),
currentYear=now.getFullYear(),
dateEnd=新日期(当前年份,月份-1,天);//月份以零为基础
if(dateEnd-now<0)//我们今年已经过了那个日期了吗?
dateEnd.setFullYear(当前年份+1);
返回Math.ceil((dateEnd-now)/1000/60/60/24);
}
console.log(daysUntil(10,11));//365-10月11日今天的结果
console.log(daysUntil(10,26));//15
console.log(daysUntil(7,7));//269
每年直到无限期?除非你想要一个无限循环,否则你需要一些结束。你的意思是,你想要返回还剩多少天和多少年?你能不能不做一些像(days%365)
这样的事情,尽管这并不完全正确?“我需要一个jQuery函数”-你是说一个JavaScript函数?