Javascript 检查所选日期是否来自同一周
如何使用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除外。因此,如果给定的日期相同,请帮助我查
一周从周日开始
以下日期介于(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,如果数组只有一个日期或数组只有相同的日期,则上述方法失败,有时,数组可能不止一次具有相同的日期,或者数组可能只有一个日期,因此您想知道是否至少有一个重复的日期(而不仅仅是当所有日期都相同时)?