Javascript 我需要计算申请日期和活动日期之间的天数
我们正在设计在线许可申请 我需要计算事件日期和应用日期之间的天数 活动日期为9月16日和12月31日Javascript 我需要计算申请日期和活动日期之间的天数,javascript,date,Javascript,Date,我们正在设计在线许可申请 我需要计算事件日期和应用日期之间的天数 活动日期为9月16日和12月31日 Java脚本计数天数使用Javascript日期对象,您可以使用以下函数: var firstDate = new Date("October 16, 1975 11:13:00"); var secondDate = new Date("October 14, 1975 11:13:00"); function dateDifference(start, end) { return
Java脚本计数天数使用Javascript日期对象,您可以使用以下函数:
var firstDate = new Date("October 16, 1975 11:13:00");
var secondDate = new Date("October 14, 1975 11:13:00");
function dateDifference(start, end)
{
return Math.round((start-end)/(1000*60*60*24));
}
alert(dateDifference(firstDate.getTime(), secondDate.getTime()));
另一种方法是比较日期,直到它们相同。可能会慢很多,所以不要使用这个,除非你想用额外的细节来扩展比较 小提琴:
Date.prototype.getYMD=function(){
返回this.getFullYear()+'-'+(this.getMonth()+1)+'-'+this.getDate();
};
Date.prototype.getDaysDiff=函数(d2){
var d1=这个,
δ=d1
请先查看。你的问题是缺乏信息,没有细节,没有上下文……这没有考虑DST,尽管在这种情况下这不是问题。但是,您应该对结果进行取整或限定。getTime()考虑了DST,请看是的,但不考虑日期之间的差异<代码>开始可能有DST,而结束
没有。所以你的结果可能是19.04或18.96。这就是为什么你应该舍入它(而不是地板)。嗯,我不能复制逗号值,你能在下面的jsFiddle中提供一个示例日期吗?伙计,你所要做的就是越过DST边界:你住的地方有DST吗?如果你不这样做,你就看不到小数了。
Date.prototype.getYMD = function() {
return this.getFullYear() + '-' + (this.getMonth()+1) + '-' + this.getDate();
};
Date.prototype.getDaysDiff = function(d2) {
var d1 = this,
delta = d1 < d2 ? +1 : -1;
var days = 0;
while (d1.getYMD() != d2.getYMD()) {
days++;
d1.setDate(d1.getDate() + delta);
}
return delta * days;
}
d1 = new Date('October 16 2012');
d2 = new Date('November 7 2012');
console.log(d1.getDaysDiff(d2)); // 22
console.log(d2.getDaysDiff(d1)); // -22