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

Javascript 检查所选日期是否来自同一周

Javascript 检查所选日期是否来自同一周,javascript,date,compare,Javascript,Date,Compare,如何使用javascript查找来自同一周的给定日期 比如,如果我给出的日期是,一周从周日开始 以下日期介于(2015年7月12日至2015年7月18日) 在上面的列表中,20不在本周之后,而是在下一周 有人能帮我吗 我还想找到相同的检查,看看给定的日期是否相同 07/13/2015 07/13/2015 07/13/2015 07/13/2015 07/13/2015 07/13/2015 07/14/2015 以上所有日期均相同,但14除外。因此,如果给定的日期相同,请帮助我查

如何使用javascript查找来自同一周的给定日期

比如,如果我给出的日期是,
一周从周日开始

以下日期介于
(2015年7月12日至2015年7月18日)

在上面的列表中,
20
不在本周之后,而是在下一周

有人能帮我吗

我还想找到相同的检查,看看给定的日期是否相同

07/13/2015 
07/13/2015 
07/13/2015
07/13/2015 
07/13/2015 
07/13/2015 
07/14/2015 
以上所有日期均相同,但
14
除外。因此,如果给定的日期相同,请帮助我查找

I am okay to use external lib also

如果一周总是从星期天开始,您可以通过执行以下操作检查它们是否都在同一周:

function getMinAndMax(dates) {
    var result = {};
    for (var index in dates) {
        var thisDate = dates[index]
        ,   dateParts = thisDate.split(/\//)
        ,   fullDate = new Date(dateParts[2], dateParts[0] - 1, dateParts[1]);
        if(!result['max'] || fullDate > result['max']) {
            result['max'] = fullDate;
        }
        if(!result['min'] || fullDate < result['min']) {
            result['min'] = fullDate
        }
    }
    return result;
}
function isSameWeek(dates) {
    var minAndMax = getMinAndMax(dates)
    ,   dayOfWeek = {}
    dayOfWeek['min'] = minAndMax['min'].getDay();
    dayOfWeek['max'] = minAndMax['max'].getDay();
    if(minAndMax['max'] - minAndMax['min'] > 518400000 || dayOfWeek['min'] > dayOfWeek['max']) {
        return false;
    }
    return true;
}
var datesArray = [
    '07/13/2015'
,   '07/14/2015'
,   '07/15/2015'
,   '07/16/2015'
,   '07/13/2015'
];
areAllDatesSame(datesArray); // false

var datesArray2 = [
    '07/13/2015'
,   '07/13/2015'
,   '07/13/2015'
,   '07/13/2015'
,   '07/13/2015'
];
areAllDatesSame(datesArray2); // true
要查看所有日期是否相同,可以包括前面声明的
getMinAndMax
函数,然后执行以下操作:

function areAllDatesSame(dates) {
    var minAndMax = getMinAndMax(dates);
    return minAndMax['min'] == minAndMax['max']
}
你可以这样称呼它:

function getMinAndMax(dates) {
    var result = {};
    for (var index in dates) {
        var thisDate = dates[index]
        ,   dateParts = thisDate.split(/\//)
        ,   fullDate = new Date(dateParts[2], dateParts[0] - 1, dateParts[1]);
        if(!result['max'] || fullDate > result['max']) {
            result['max'] = fullDate;
        }
        if(!result['min'] || fullDate < result['min']) {
            result['min'] = fullDate
        }
    }
    return result;
}
function isSameWeek(dates) {
    var minAndMax = getMinAndMax(dates)
    ,   dayOfWeek = {}
    dayOfWeek['min'] = minAndMax['min'].getDay();
    dayOfWeek['max'] = minAndMax['max'].getDay();
    if(minAndMax['max'] - minAndMax['min'] > 518400000 || dayOfWeek['min'] > dayOfWeek['max']) {
        return false;
    }
    return true;
}
var datesArray = [
    '07/13/2015'
,   '07/14/2015'
,   '07/15/2015'
,   '07/16/2015'
,   '07/13/2015'
];
areAllDatesSame(datesArray); // false

var datesArray2 = [
    '07/13/2015'
,   '07/13/2015'
,   '07/13/2015'
,   '07/13/2015'
,   '07/13/2015'
];
areAllDatesSame(datesArray2); // true

如果一周总是从星期天开始,您可以通过执行以下操作检查它们是否都在同一周:

function getMinAndMax(dates) {
    var result = {};
    for (var index in dates) {
        var thisDate = dates[index]
        ,   dateParts = thisDate.split(/\//)
        ,   fullDate = new Date(dateParts[2], dateParts[0] - 1, dateParts[1]);
        if(!result['max'] || fullDate > result['max']) {
            result['max'] = fullDate;
        }
        if(!result['min'] || fullDate < result['min']) {
            result['min'] = fullDate
        }
    }
    return result;
}
function isSameWeek(dates) {
    var minAndMax = getMinAndMax(dates)
    ,   dayOfWeek = {}
    dayOfWeek['min'] = minAndMax['min'].getDay();
    dayOfWeek['max'] = minAndMax['max'].getDay();
    if(minAndMax['max'] - minAndMax['min'] > 518400000 || dayOfWeek['min'] > dayOfWeek['max']) {
        return false;
    }
    return true;
}
var datesArray = [
    '07/13/2015'
,   '07/14/2015'
,   '07/15/2015'
,   '07/16/2015'
,   '07/13/2015'
];
areAllDatesSame(datesArray); // false

var datesArray2 = [
    '07/13/2015'
,   '07/13/2015'
,   '07/13/2015'
,   '07/13/2015'
,   '07/13/2015'
];
areAllDatesSame(datesArray2); // true
要查看所有日期是否相同,可以包括前面声明的
getMinAndMax
函数,然后执行以下操作:

function areAllDatesSame(dates) {
    var minAndMax = getMinAndMax(dates);
    return minAndMax['min'] == minAndMax['max']
}
你可以这样称呼它:

function getMinAndMax(dates) {
    var result = {};
    for (var index in dates) {
        var thisDate = dates[index]
        ,   dateParts = thisDate.split(/\//)
        ,   fullDate = new Date(dateParts[2], dateParts[0] - 1, dateParts[1]);
        if(!result['max'] || fullDate > result['max']) {
            result['max'] = fullDate;
        }
        if(!result['min'] || fullDate < result['min']) {
            result['min'] = fullDate
        }
    }
    return result;
}
function isSameWeek(dates) {
    var minAndMax = getMinAndMax(dates)
    ,   dayOfWeek = {}
    dayOfWeek['min'] = minAndMax['min'].getDay();
    dayOfWeek['max'] = minAndMax['max'].getDay();
    if(minAndMax['max'] - minAndMax['min'] > 518400000 || dayOfWeek['min'] > dayOfWeek['max']) {
        return false;
    }
    return true;
}
var datesArray = [
    '07/13/2015'
,   '07/14/2015'
,   '07/15/2015'
,   '07/16/2015'
,   '07/13/2015'
];
areAllDatesSame(datesArray); // false

var datesArray2 = [
    '07/13/2015'
,   '07/13/2015'
,   '07/13/2015'
,   '07/13/2015'
,   '07/13/2015'
];
areAllDatesSame(datesArray2); // true


谁为我们定义了一周的开始呢?猜测是从周日开始,如果我错了,请纠正我我的意思是。。日期。。。。是否考虑12作为开始或19thOH,抱歉得到它,必须定义从第一日期Giv..谁定义了一周开始猜测美国从星期日开始,请纠正我,如果我是错的,我的意思是…日期。。。。是否考虑12作为开始或19thOH,抱歉得到它,必须定义从第一个日期给出。Moishe Lipsker + 1的努力,我得到了我想要的,也请你更新代码,以找到给定的日期是否是相同的日期?谢谢,是否需要一个单独的函数来检查所有日期是否相同?Moishe-Lisker单独的函数可以检查所有日期是否相同。Moishe-Lisker,如果数组只有一个日期或数组只有相同的日期,则上述方法失败,有时数组可能不止一次有相同的日期,或者数组可能只有一个日期,因此您想知道是否至少有一个重复的日期(不仅仅是在所有日期都相同的情况下)?Moishe Lipsker+1的努力,我得到了我想要的,还请您更新代码以确定给定的日期是否相同?谢谢,是否需要一个单独的函数来检查所有日期是否相同?Moishe-Lisker单独的函数可以检查所有日期是否相同。Moishe-Lisker,如果数组只有一个日期或数组只有相同的日期,则上述方法失败,有时,数组可能不止一次具有相同的日期,或者数组可能只有一个日期,因此您想知道是否至少有一个重复的日期(而不仅仅是当所有日期都相同时)?