废话不多说,直接上菜!

调用函数代码举例

                        //PS :这里需要注意的是 周日 是 0 !!!!!console.log(getBeforeDate(-10000)) //一万天之后的日期console.log(getWeek('2019-07-03',[2,3],20))//从'2019-07-03' 开始获取之后 20 个 周二、周三的日期

JS代码

/*** 获取某个时间开始 之后的 N次[周几,周几]* @param {Object} begin 开始时间* @param {Object} week_arr 需要获取的周几数组* @param {Object} Max 需要获取数组最大长度*/function getWeek (begin, week_arr,Max){var dateArr = new Array();var stimeArr = begin.split("-");//=>["2018", "01", "01"]var etimeArr = getBeforeDate(-10000).split("-");//=>["2018", "01", "30"] 这里我给了一个10000天后的一起可更具需求更改var stoday = new Date();stoday.setUTCFullYear(stimeArr[0], stimeArr[1]-1, stimeArr[2]);var etoday = new Date();etoday.setUTCFullYear(etimeArr[0], etimeArr[1]-1, etimeArr[2]);var unixDb = stoday.getTime();//开始时间的毫秒数var unixDe = etoday.getTime();//结束时间的毫秒数for (var k = unixDb; k <= unixDe;) {//达到最大次数时,结束循环if(dateArr.length==Max){break;}else{let needJudgeDate = msToDate(parseInt(k)).withoutTime;//不加这个if判断直接push的话就是已知时间段内的所有日期$.each(week_arr, function(i,o) {if (new Date(needJudgeDate).getDay() === o) {dateArr.push(needJudgeDate);}})k = k + 24*60*60*1000;}}return dateArr;}//根据毫秒数获取日期
function msToDate (msec) {let datetime = new Date(msec);let year = datetime.getFullYear();let month = datetime.getMonth();let date = datetime.getDate();let hour = datetime.getHours();let minute = datetime.getMinutes();let second = datetime.getSeconds();let result1 = year +'-' +((month + 1) >= 10 ? (month + 1) : '0' + (month + 1)) +'-' +((date + 1) < 10 ? '0' + date : date) +' ' +((hour + 1) < 10 ? '0' + hour : hour) +':' +((minute + 1) < 10 ? '0' + minute : minute) +':' +((second + 1) < 10 ? '0' + second : second);let result2 = year +'-' +((month + 1) >= 10 ? (month + 1) : '0' + (month + 1)) +'-' +((date + 1) < 11 ? '0' + date : date);let result = {hasTime: result1,withoutTime: result2};return result;
}//-----[获取前n天的日期]
function getBeforeDate(n) {var n = n;var d = new Date();var year = d.getFullYear();var mon = d.getMonth() + 1;var day = d.getDate();if(day <= n) {if(mon > 1) {mon = mon - 1;} else {year = year - 1;mon = 12;}}d.setDate(d.getDate() - n);year = d.getFullYear();mon = d.getMonth() + 1;day = d.getDate();s = year + "-" + (mon < 10 ? ('0' + mon) : mon) + "-" + (day < 10 ? ('0' + day) : day);return s;
}
//-----[获取前n天的日期END]

转载于:https://www.cnblogs.com/userzf/p/11124853.html

获取某个时间开始 之后的 N次[周几,周几]相关推荐

  1. JS获取当前时间的前几天、前几周、前几个月、前几年的时间

    alert(getDate()); //当前时间 alert(getDate("day", -2)); //前两天的时间 alert(getDate("day" ...

  2. 获取系统时间出错oracle-,oracle 获取系统时间(转)

    Oracle中如何获取系统当前时间 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; ORACLE里获取一个时间的年.季.月.周.日 ...

  3. oracle获取当前时间

    select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual; select to_char(sysdate,'yyyy-MM-dd HH24:m ...

  4. oracle sql 获取当前时间,Oracle 在SQL语句中如何获取系统当前时间并进行操作

    ### 前言 Oracle中如何获取系统当前时间进行语句的筛选是SQL语句的常见功能 获取系统当前时间 date类型的: select sysdate from dual; char类型的: sele ...

  5. oracle中怎么获取系统时间,Oracle中如何获取系统当前时间

    Oracle中如何获取系统当前时间 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; ORACLE里获取一个时间的年.季.月.周.日 ...

  6. oracle中怎么获取系统时间,oracle中得到当前系统时间

    皈依舞 Oracle中如何获取系统当前时间select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;ORACLE里获取一个时间的年.季.月.周 ...

  7. Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几

    Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几 //获得入参的日期 Calendar cd = Calendar.getInstance(); cd.setTime(date ...

  8. 时间和邮箱的正则表达式,获取当前时间函数

    正则表达式可以用于验证 验证 email: const regMail = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/ 验证时间格式: ...

  9. mysql从当前月向前推12_JavaScript获取当前时间向前推三个月的方法示例

    本文实例讲述了JavaScript获取当前时间向前推三个月的方法.分享给大家供大家参考,具体如下: /p> "http://www.w3.org/TR/xhtml1/DTD/xhtml ...

  10. linux下获取系统时间 和 时间偏移

    获取linux时间  并计算时间偏移 void getSystemTimer(void) { #if 0 char *wdate[]={"Sun","Mon", ...

最新文章

  1. Python学习笔记.OS学习笔记 OS操作系统(operating system)(三) 日期和时间
  2. 李飞飞团队给机器人造了一个“模拟厨房”:洗切炒菜一条龙训练!人类还能VR监管 | 开源...
  3. 成教计算机专业,成教计算机专业毕业.docx
  4. Android:解决Button中的文字全部大写
  5. PHP操作Redis常用技巧
  6. java 值 继承_java中继承的数值传递引用
  7. 技术人的危机-非理性的繁荣
  8. 【风马一族_软件】微软卸载工具_msicuu2.exe
  9. 社工库源码mysql_社工库源码
  10. Uniapp微信雪糕刺客单页小程序源码
  11. 聊聊实际使用的电源转化电路,分享一些不同场合下的转3.3V电路
  12. 网络层协议——ICMP协议
  13. 【数据结构】【王道】【树与二叉树】中序二叉线索树的实现及基本操作(可直接运行)
  14. 视频 | “资本运作悍匪”应书岭的“英雄梦”
  15. 《Spring实战》学习笔记-第五章:构建Spring web应用
  16. 浅谈软件研发模式中瀑布模型、迭代模型、敏捷模型
  17. 一个ios开发者使用Android手机后的一些感想
  18. 用python来压缩图片的大小
  19. 前端学习:浏览器缓存方式有哪些(cookie、localstorage、sessionstorage)
  20. 机械手臂c语言如何编程,工业机械手臂程序示教图文教程

热门文章

  1. django-vue-admin前端设置后台接口地址为127.0.0.1产生跨域问题解决办法
  2. 配置HDFS HttpFS和WebHDFS
  3. golang字符串类型及使用细节
  4. redis与lua整合
  5. 使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
  6. MySQL等值传播(low!就是一层窗户纸)
  7. 【软考-系统架构师】计算机操作系统相关考题答案详解
  8. springAOP编程-aspectJ开启注解自动代理
  9. echarts mysql scrapy_抓取58job, 赶集job以及智联招聘,并使用数据分析生成echarts图...
  10. QML 性能优化建议(一)