使用javascript检查周末是否存在于日期范围内 [英] Check if weekend exist in date range using javascript

查看:89
本文介绍了使用javascript检查周末是否存在于日期范围内的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

想知道是否有人有解决方案来检查两个日期及其范围之间是否存在周末。

Wondering if anyone has a solution for checking if a weekend exist between two dates and its range.

var date1 = 'Apr 10, 2014';
var date2 = 'Apr 14, 2014';


funck isWeekend(date1,date2){
   //do function

    return isWeekend;
}

提前谢谢。

编辑添加到目前为止我所拥有的内容。检查这两天。

EDIT Adding what I've got so far. Check the two days.

function isWeekend(date1,date2){
   //do function
    if(date1.getDay() == 6 || date1.getDay() == 0){
        return isWeekend;
        console.log("weekend")
    } 
        if(date2.getDay() == 6 || date2.getDay() == 0){
        return isWeekend;
        console.log("weekend")
    } 
}


推荐答案

最简单的方法是迭代日期,如果任何日子 6 (星期六)或<$ c $,则返回c> 0 (星期日)

Easiest would be to just iterate over the dates and return if any of the days are 6 (Saturday) or 0 (Sunday)

演示: http://jsfiddle.net/abhitalks/xtD5V/1/

代码

function isWeekend(date1, date2) {
    var d1 = new Date(date1),
        d2 = new Date(date2), 
        isWeekend = false;

    while (d1 < d2) {
        var day = d1.getDay();
        isWeekend = (day === 6) || (day === 0); 
        if (isWeekend) { return true; } // return immediately if weekend found
        d1.setDate(d1.getDate() + 1);
    }
    return false;
}






如果你想检查如果两个日期之间存在整个周末,则稍微更改一下代码:


If you want to check if the whole weekend exists between the two dates, then change the code slightly:

演示2: http://jsfiddle.net/abhitalks/xtD5V/2/

代码

function isFullWeekend(date1, date2) {
    var d1 = new Date(date1),
        d2 = new Date(date2); 

    while (d1 < d2) {
        var day = d1.getDay();
        if ((day === 6) || (day === 0)) { 
            var nextDate = d1; // if one weekend is found, check the next date
            nextDate.setDate(d1.getDate() + 1); // set the next date
            var nextDay = nextDate.getDay(); // get the next day
            if ((nextDay === 6) || (nextDay === 0)) {
                return true; // if next day is also a weekend, return true
            }
        }
        d1.setDate(d1.getDate() + 1);
    }
    return false;
}

这篇关于使用javascript检查周末是否存在于日期范围内的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆