Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我需要计算申请日期和活动日期之间的天数_Javascript_Date - Fatal编程技术网

Javascript 我需要计算申请日期和活动日期之间的天数

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

我们正在设计在线许可申请

我需要计算事件日期和应用日期之间的天数 活动日期为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 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