项目中有个需求,根据两个时间获取该时间内所有星期五的那天的日期,并且生成一个数组,我先说下我的思路,

首先获取两个时间内的相差的天数,然后进行循环,根据起始日期进行判断是否是周五,然后获取到下一天的日期在进行判断,如果是周五的就把他添加到数组,因为涉及到月份,闰年二月的问题,所以有些棘手,具体解决方法如下代码,

 //获取当前时间是周几function getMyDay(date){var week;if(date.getDay()==0) week="周日"if(date.getDay()==1) week="周一"if(date.getDay()==2) week="周二"if(date.getDay()==3) week="周三"if(date.getDay()==4) week="周四"if(date.getDay()==5) week="周五"if(date.getDay()==6) week="周六"return week;}//获取两个时间段相差的天数function daysBetween(DateOne,DateTwo){  var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ('-')); var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ('-')+1); var OneYear = DateOne.substring(0,DateOne.indexOf ('-')); var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ('-')); var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ('-')+1); var TwoYear = DateTwo.substring(0,DateTwo.indexOf ('-')); var cha=((Date.parse(OneMonth+'/'+OneDay+'/'+OneYear)- Date.parse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/86400000);    return Math.abs(cha); }//获取当前日期的下一天日期function GetDateStr(AddDayCount,time) {var dd = new Date(time);dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期var y = dd.getFullYear();var m = dd.getMonth()+1;//获取当前月份的日期var d = dd.getDate();return y+"-"+m+"-"+d;}var stime = "2018-01-05";   //起始时间var etime = "2018-01-24";   //结束时间var d_length = daysBetween(stime,etime); //获取两个时间段相差的天数var save_stime = stime; //保存当前时间var all_time = [];      //存放周五的时间数组for (var i = 0; i < d_length; i++){  //循环总天数if(getMyDay(new Date(save_stime)) == "周五"){  //判断当前日期是否为周五all_time.push(save_stime); //符合条件的添加到数组}save_stime = GetDateStr(1,save_stime); //每次循环后把下一天的日期存进save_stime}alert(all_time); //打印出即可

JS获取指定时间内的所有星期五相关推荐

  1. 原生js获取指定标签的父元素

    js是没有这个函数的,js只有.parentNode获取上一级的父元素.如果想用js获取指定标签的祖先元素,不想使用jq.下面是封装的函数,初学者自己写的,实测有效. //js获取指定标签的父元素,获 ...

  2. JS 获取指定 Cookie 值

    我们知道在 JS 中,只能通过 document.cookie 获取到当前网页的 Cookie,返回的是以 ; 隔开的 Cookie 键值对字符串.在日常开发中,可以使用 js-cookie 包来操作 ...

  3. js获取指定字符串长度

    js获取字符串长度 主要利用measureText 函数来实现对于字符串长度的计算. CanvasRenderingContext2D.measureText() 方法返回一个关于被测量文本TextM ...

  4. JS 获取指定日期的前几天或者几天

    例如获取2021-06-21后1天日期 /*** JavaScript 获取指定日期的前几天或者后几天的日期* @param date {string} 日期 如:2021-06-21* @param ...

  5. JS获取指定日期前后N天的日期、前N个月日期、后N个月日期

    今天做项目遇到了,获取相对于当前日期前30天的时间,结合网上资料,做了一份整理. 一.获取指定日期前或者后指定间隔时间代码 function getNowFormatDate(sdate,interv ...

  6. JS获取指定特殊字符之间的字符

    example:某字符为:DFX11EI01-0.188×5400mm/MG10/绝缘聚酯薄膜大膜卷 需求:截取"/ /"之间的字段 实现: var example = 'DFX1 ...

  7. js获取指定日期的前一年(需要判断闰年和平年)

    如果要考虑二月份的情况,就需要注意闰年和平年的区别.闰年的二月份有29天,平年的二月份只有28天. 以下是一种考虑闰年和平年的实现方法: //获取指定日期的前一年getYearLast(dateStr ...

  8. JavaScript JS获取指定日期的前几天或者后几天(默认后1天)

    /**  * JavaScript 获取指定日期的前几天或者后几天的日期  * @param date {string} 日期 如:2022-07-12  * @param day {number} ...

  9. js 获取指定范围随机数

    一.随机获取1-10范围内数字 let random = Math.floor((Math.random() * 10) + 1) console.log(random)  // 6 二.随机获取指定 ...

最新文章

  1. QQ互联OAuth2.0 .NET SDK 发布以及网站QQ登陆示例代码(转)
  2. [摘]一张图 , oracle merge用法:
  3. 为什么要将表和索引建立在不同的表空间?
  4. 【渝粤题库】国家开放大学2021春2772家畜环境卫生与设施题目
  5. Rotate String
  6. lsof查看进程占用文件_Linux 利用lsof命令查找已经删除的文件来释放磁盘空间
  7. C++ 程序运行后的内存模型
  8. 图书馆管理系统——还书和延期操作
  9. NOIP2010 引水入城
  10. IT人的地摊不就是开源么 | 凌云时刻
  11. React Native重构路线图发布!
  12. 红米html查看器,小米 红米【AC2100】一键刷BREED【30秒刷完】小白脑残专用 无需工具TELNET + 检查坏块...
  13. 软件测试的发展前景怎么样 做软件测试有前途吗
  14. Spring Boot 集成 Prometheus
  15. 事务日志备份文件达到 47G 大小,啥原因导致 ?
  16. MySQL(InnoDB剖析):---InnoDB关键特性(插入缓冲(Insert Buffer)、两次写(doublewrite)、自适应哈希索引(AHI)、异步IO(AIO)、刷新邻接页)
  17. Linux命令之停机halt
  18. ChatGPT Network Error 在使用chatGPT的过程中回答到一半显示网络错误
  19. Hark的数据结构与算法练习之锦标赛排序
  20. 正在获取服务器信息,正在获取远程列表服务器信息

热门文章

  1. 邓丽君的竞争力三部曲【人人都是产品经理:9020】
  2. TOOM互联网舆情监测中心,互联网舆情监测系统为何出现以及由来?
  3. RxSwift的第一印象
  4. Android 第四章 设置Android Studio快捷键
  5. 和你抢“饭碗”的40家服务机器人企业大盘点!
  6. 小白怎样成为网络工程师?
  7. Ubuntu 报错:E: Package ' *** ' has no installation candidate
  8. LaTeX 学习笔记(刘大成版)
  9. 中国车辆齿轮行业市场需求现状与前景规模预测报告2022-2028年
  10. ARCore增强现实开发实战