JS获取上周(自然周、最近七天)、上月(自然月、最近一个月)、全年的开始和结束日期

let now = new Date();
let nowTime = now.getTime(); //当前的时间戳
let nowYear = now.getFullYear(); //当前年
let weekDay = now.getDay(); //当前星期
let lastMonth = now.getMonth(); //上一个月
let oneDayTime = 24 * 3600* 1000; //一天的总毫秒数
let start = "";  //开始日期
let end = "";  //结束日期
let myDate  = []  //最终需要的日期数组 [开始,结束]// 1. 上周(最近七天)
let week = nowTime - oneDayTime * 7;  // oneDayTime * 7 代表一周的总毫秒(ms)数
start = now.setTime(week);
end = new Date();
myDate = [formatDate(start), formatDate(end)];
//console.log(myDate , "最近七天");// 2. 上周(自然周:周一到周日)
start = nowTime - (weekDay + 6) * oneDayTime; //上周一的时间戳
end = nowTime - (weekDay + 0) * oneDayTime; //上周日的时间戳
myDate = [formatDate(start), formatDate(end)];
//console.log(myDate , "自然周-上周");// 3. 上月(最近一个月)
let mouth = nowTime - oneDayTime * 30;  //oneDayTime * 30 代表一个月的总毫秒数
start = now.setTime(mouth);
end = new Date();
myDate = [formatDate(start), formatDate(end)];
//console.log(myDate, "最近一个月");// 4. 上月(自然月: 每月1号到月末)
/**知识补充: new Date()第3个参数默认为1,就是每个月的1号; 当该参数为0 时,就是每个月的最后一天;*如:获取2022年一月份的天数:  new Date("2022","01",0).getDate()  //通过getDate()方法得到该月的天数,即31
*/
start = new Date(nowYear, lastMonth - 1, 1); //上一个月的第一天日期
end = new Date(nowYear, lastMonth, 0); //上一月的最后一天日期
myDate = [formatDate(start), formatDate(end)];
//console.log(myDate, "自然月-上月");//格式化日期函数(最终格式yyyy-MM-dd)
function formatDate(date) {let myDate = new Date(date);let year = myDate.getFullYear();let month = myDate.getMonth() + 1;let weekday = myDate.getDate();if (month < 10) {month = "0" + month;}if (weekday < 10) {weekday = "0" + weekday;}return year + "-" + month + "-" + weekday;
}

JS获取上周(自然周、最近七天)、上月(自然月、最近一个月)、全年的开始和结束日期相关推荐

  1. php获取当前日期所在自然周周一周末以及前后自然周始末

    php获取当前日期所在自然周周一周末以及前后自然周始末 首先,获取当前时间,date函数,方法较多,展示一种: $present = date('y-m-d',time());//当前日期 然后获取当 ...

  2. 根据当前时间 获取前一个月后一个月

    根据当前时间 获取前一个月后一个月 const lastMonth = new Date();lastMonth.setMonth(new Date().getMonth() - 1)//格式话 使用 ...

  3. 大学毕业四年,现在有机会去油田上班,上两个月休息一个月,工资六七千,该不该去?...

    很多人都是"想当然",根本不了解油田的就业政策.简单而准确地写几段话,你就明白了. 第一,油田,大多数隶属于中石油.中石化.中海油.中信石油.中化石油.振华石油等央企.央企招聘,主 ...

  4. java 获取当前时间所在自然周起止时间及自然周中的每一天

    有的时候需要获取当前时间所在自然周中的起始和截止时间,或者某个时间段内里的每一天的日期 1.先来解决获取自然周中的起止时间 /*** 获取当前时间所在自然周的起止日期** @return*/publi ...

  5. JS 获取上周、本周、下周的开始日期或者结束日期

    /*** 获取本.上.下周开始结束时间* @description 得到本.上.下周的起始.结束日期* @param {Number} n 不传或0代表本周,-1代表上周,1代表下周* @param ...

  6. js获取近一周、近一月、近三月、近半年等方法记录

    //获取当前时间 const now = new Date() console.log('当前日期', now.toLocaleDateString()) //获取近一周时间 getLastWeek( ...

  7. js获取当前日期的周数

    输入格式化的日期去获取当前的周数,如"2020-11-11" getWeek(date){// date = formatTimebytype(date, 'yyyy-MM-dd' ...

  8. vue移动端项目日历组件,月周切换,点击进入上/下一个月

    项目场景: Vue移动端项目的日历组件,移动端如果没有别的特别要求,一般用vant中的日历组件就OK,这里用的另一个.组件是网上找的,原网址:vue-hash-calendar,需要的请自行去看. 我 ...

  9. 记录一下js获取上周、下周日期

    原文来自:https://www.jb51.net/article/108852.htm <!doctype html> <html> <head>   <m ...

最新文章

  1. 什么是人工神经网络?
  2. MFC 去掉CWnd的边框
  3. 子类窗口向父类窗口传值
  4. tomcat上传war包失败
  5. 完美解决 keil5.25 某宝Jlink无法使用问题
  6. git代码回滚的几种方式
  7. sylog mysql_25.2 配置使用基于mysql存储日志信息
  8. iOS 之UITextFiled/UITextView小结
  9. android中shape的属性,android中shape的属性
  10. 信息量、信息熵、KL散度、交叉熵
  11. python scikit learn 关闭开源_Python机器学习工具:Scikit-Learn介绍与实践
  12. 怎样有效的学会php,十天学会PHP - 序2,有效的学习方法 (20180822-1)
  13. 遍历实体包含的List
  14. 钱包系列教程七】玩转 EOS 命令行钱包
  15. 全栈式PHP集成环境-laragon(一)介绍、安装
  16. ES报错处理-mapper [xx.xx] of different type, current_type [text], merged_type [keyword]
  17. 如何用计算机进行文件夹整理,如何对电脑文件进行分类整理,试试下面这四个步骤...
  18. 2021-02-17:规定1和A对应、2和B对应、3和C对应...26和Z对应,那么一个数字字符串比如“111”就可以转化为:“AAA“、“KA“和“AK“。给定一个只有数字字符组成的字符串str,请
  19. 队列练习之Example004-设计一个循环队列,用 front 和 rear 分别作为队头和队尾指针,另外用一个标志 tag 表示队列是空还是不空
  20. MySQL 用户管理 - 添加用户、授权、删除用户

热门文章

  1. oracle的dba_ segment,SEGMENT_TYPE TEMPORARY
  2. Android调用系统自带的文件管理器进行文件选择
  3. 【ZYNQ】那些年我们拿下了 Zynq
  4. Knockout.js 整理
  5. 投射式AR/AR眼镜的标定之相机姿态、Unity投影矩阵的计算
  6. LAMP兄弟连——PHP免费课开班了!(在线)
  7. Neat Reader初体验
  8. 为什么静下心来阅读会是一种奢侈?
  9. VIRTIO PCI 设备
  10. CSS样式写出三角形