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_Getdate - Fatal编程技术网

JavaScript获取日期对象到现在之间的天数

JavaScript获取日期对象到现在之间的天数,javascript,date,getdate,Javascript,Date,Getdate,我在JavaScript中有一个对象,我需要找到它发生后的确切天数,作为整数(从那时起到当前日期)。如果是在同一个月内,我知道该怎么做,但我需要它在过去的所有日期都能正常工作。如果是与今天相同的物理日(午夜后),则应显示0;如果是在最近的午夜(前一个物理日)之前,则应显示1,依此类推。午夜旅行是新的一天,而不是24小时。我试着自己写这篇文章,但随着一个月天数的变化,它很快成为一个问题。日期对象和当前时间应该已经在本地时区中,因此时区在这里并不重要。计算开始时间和结束时间之间的差值 functio

我在JavaScript中有一个对象,我需要找到它发生后的确切天数,作为整数(从那时起到当前日期)。如果是在同一个月内,我知道该怎么做,但我需要它在过去的所有日期都能正常工作。如果是与今天相同的物理日(午夜后),则应显示0;如果是在最近的午夜(前一个物理日)之前,则应显示1,依此类推。午夜旅行是新的一天,而不是24小时。我试着自己写这篇文章,但随着一个月天数的变化,它很快成为一个问题。日期对象和当前时间应该已经在本地时区中,因此时区在这里并不重要。

计算开始时间和结束时间之间的差值

function parseDate(dateString) {
var mmddyy = dateString.split('/')
return new Date(mmddyy [2], mmddyy [0]-1, mmddyy [1]);}


function daydiff() {
return (parseDate($('#second').val())-parseDate($('#first').val()))/(1000*60*60*24)}

alert(Math.floor(daydiff()));
function calc(begin, end) {
    //suppose begin, end are two Date Object to calc
    var diffmsec = end.getTime() - begin.getTime();
    var diffday = Math.floor(diffmsec / (3600*24*1000));
    var remainder = diffmsec % (3600*24*1000);
    var beginDayTime = begin.getHours()*3600*1000 + begin.getMinutes()*60*1000
                     + begin.getSeconds()*1000 + begin.getMilliseconds();
    //if [beginDayTime] + [remainder] > 1 day, [diffday]++
    if (beginDayTime + remainder > 24*3600*1000){
        diffday++;
    }
    return diffday;
}
/* 2014-01-15, 11:00 */
var date = new Date(2014, 0, 15, 11, 0);
var today = new Date();
Math.abs(Math.floor((date - today) / (1000*60*60*24)))