今天要用到判断日期是否在同一个星期内和是否在同一个月内,在网上找了好一会儿也没找到合适的,然后自己写了一个方法来处理这个问题,思路就不详细介绍了,直接附上代码,自己测试了一下 没有问题,若有问题请在评论区给我留言\(≧▽≦)/

/*

*判断是否在同一个星期里

*date:时间字符串

*return:true/false

*/

function SameWeek(date) {

var date1 = new Date(date.replace(/-/g, "/"));         //将传入的时间字符串转换成时间对象

var date2 = new Date();     //当前时间

var curWeek = date2.getDay();           //获取当前星期几

var monday = GetDate((curWeek), 1); //计算出星期一

var sunday = GetDate((7 - curWeek), 2); //计算出星期天

if (date1.getTime() < monday.getTime() || date1.getTime() > sunday.getTime()) {

return false;       //不在同一个星期内

} else {

return true;        //在同一个星期内

}

}

/*

*判断是否在同一个月

*date:时间字符串

*return:true/false

*/

function SameMonth(date) {

var date1 = new Date(date.replace(/-/g, "/"));         //将传入的时间字符串转换成时间对象

var date2 = new Date();            //当前时间

var curDay = date2.getDate();           //获取当前几号

var firstDay = GetDate((curDay), 1);                                //计算出当月第一天

var lastDay = GetDate((getDaysInMonth(date2.getFullYear(), date2.getMonth() + 1) - curDay), 2);    //计算出当月最后一天

if (date1.getTime() < firstDay.getTime() || date1.getTime() > lastDay.getTime()) {

return false;       //不在同一个月内

} else {

return true;        //在同一个月内

}

}

/*

*获取某年某月有多少天

*/ function getDaysInMonth(year, month) {

month = parseInt(month, 10) + 1;

var temp = new Date(year + "/" + month + "/0");

return temp.getDate();

}

/*

*获取当前日期前N天或后N日期(N = day)

*type:1:前;2:后

*/

function GetDate(day, type) {

var zdate = new Date();

var edate;

if (type == 1) {

edate = new Date(zdate.getTime() - (day * 24 * 60 * 60 * 1000));

} else {

edate = new Date(zdate.getTime() + (day * 24 * 60 * 60 * 1000));

}

return edate;

}

JS判断日期是否在同一个星期内,和同一个月内的更多相关文章

  1. js 日期比较大小,js判断日期是否在区间内,js判断时间段是否在另外一个时间段内

    /** * 日期解析,字符串转日期 * @param dateString 可以为2017-02-16,2017/02/16,2017.02.16 * @returns {Date} 返回对应的日期对 ...

  2. js 判断日期大小、是否在时间范围内等处理

    var beginval="2015-09-01";//这个时间可以是日期控件选择的,也可以是其他的任何日期时间 var endval="2015-09-01" ...

  3. jq、js判断元素是否在可视区域内

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <style> ...

  4. js判断日期格式(YYYYMM)

    function datepanduan(obj){ var date = document.getElementById(obj.id).value; var reg = /^\b[1-3]\d{3 ...

  5. js 判断当前时间是否处于某个一个时间段内

    js 判断当前时间(或者所选时间)是否在某一时间段 我们可以使用 jutils - JavaScript常用函数库的 isDuringDate 函数来实现 传入 beginDateStr (开始时间) ...

  6. JS实现判断点是否在多边形范围内

    一.说明 在GIS领域,判断点是否在多边形范围内是一个基础方法,这里主要说下实现原理. 原理比较简单,就是有一个GIS理论,一个点向一个方向发送射线,射线与多边形各个边相交的交点如果是奇数说明点在多边 ...

  7. js日期计算及快速获取周、月、季度起止日,获取指定日期周数以及星期几的小例子

    JS获取日期时遇到如下需求,根据某年某周获取一周的日期.如开始日期规定为星期四到下一周的星期五为一周. 格式化日期: function getNowFormatDate(theDate) { var ...

  8. [Ext JS 4] 实战之 带week(星期)的日期选择控件(三)

    前言 在 [Ext JS 4] 实战之 带week(星期)的日期选择控件(二) 的最后,有提到一个解决方案. 不过这方案有一个条件  ==> “2. 每年的周数从(1-52), 如果超过52 周 ...

  9. 自己封装的一个js方法用于获取显示的星期和日期时间

    自己封装的一个js方法用于获取显示的星期和日期时间 /** * 获取用于显示的星期和日期时间 * @param date * @returns {string} */ function getWeek ...

随机推荐

  1. 如何查看当前使用的Entity Framework版本

    Visual Studio 中-----工具-----NuGet套件管理员-----套件管理器控制台-----输入Get-Package即可查看当前使用的版本信息

  2. winserver2008 DNS 很详细

    from http://www.it165.net/admin/html/201312/2182.html DNS(Domain Name System域名系统)区域化管理 分布式 层次性 域名空间结 ...

  3. sql异步执行

    /// <summary> /// 按钮事件 异步执行 /// </summary> /// <param name="sender">< ...

  4. Zookeeper:通过yarn实现大型分布式管理系统

    http://www.cnblogs.com/leesf456/p/6063694.html

  5. django的分页

    一.分页器的函数封装 # 分页计算最小页和最大页 def page_list_return(total, current=1): ''' 分页,返回本次分页的最小页数和最大页数列表 :param to ...

  6. 基于SSM的分页

    现在基本每一个项目都有用到分页,SSM也是当前企业用到的比较频繁的框架,这里我就总结一下基于SSM的分页: 一.首先我们要准备一个分页的工具类 /** * 分页 */ public class Pag ...

  7. bzoj3884 上帝与集合的正确用法

    a^b mod P=a^(b mod phi(p)) mod p,利用欧拉公式递归做下去. 代码 #pragma comment(linker,"/STACK:1024000000,1024 ...

  8. 微信 回调模式 echostr校验失败,请您检查是否正确解密并输出明文echostr

  9. 【原创】如何用Android Studio断点安卓自带Service或Bind类型的Service

    很久以来,我一直想找一种方法来断点调试安卓系统自身的Service,或者bind类型的Service,比如我想看WifiManager里面的getWifiApConfiguration函数是如何实现的 ...

  10. MIL 多示例学习 特征选择

    一个主要的跟踪系统包含三个成分:1)外观模型,通过其可以估计目标的似然函数.2)运动模型,预测位置.3)搜索策略,寻找当前帧最有可能为目标的位置.MIL主要的贡献在第一条上. MIL与CT的不同在于后 ...