js 获取本周、上周、本月、上月、本季度、上季度的开始结束日期

先来解释一下获取日期的方式:可以通过 JS 内置对象 Date() 进行日期的获取,以下是获取日期的方法:

  • getFullYear():获取年份
  • getMonth():获取月份(注意:返回值是0-11,0代表一月,11代表十二月)
  • getDate():获取日(注意:返回值是1-31之间的整数)
  • getDay():获取星期几(注意:返回值是0-6,0代表星期日,1代表星期一,以此类推)
  • setFullYear(year, month, date):设置年份
  • setMonth(month, date):设置月份
  • setDate(date):设置日

根据以上方法,获取本周、上周、本月、上月、本季度、上季度的开始和结束日期,具体代码实现如下:

获取本周的开始和结束日期

const now = new Date();
const firstDayOfWeek = new Date(now.getFullYear(), now.getMonth(), now.getDate() - now.getDay() + 1); // 本周第一天
const lastDayOfWeek = new Date(now.getFullYear(), now.getMonth(), now.getDate() + (6 - now.getDay())); // 本周最后一天
console.log(firstDayOfWeek, lastDayOfWeek); // 输出本周开始和结束日期

示例结果:本周开始日期为:2021年8月23日、本周结束日期为:2021年8月29日

获取上周的开始和结束日期

const now = new Date();
const firstDayOfWeek = new Date(now.getFullYear(), now.getMonth(), now.getDate() - now.getDay() - 6); // 上周第一天
const lastDayOfWeek = new Date(now.getFullYear(), now.getMonth(), now.getDate() - now.getDay()); // 上周最后一天
console.log(firstDayOfWeek, lastDayOfWeek); // 输出上周开始和结束日期

示例结果:上周开始日期为:2021年8月16日、上周结束日期为:2021年8月22日

获取本月的开始和结束日期

const now = new Date();
const firstDayOfMonth = new Date(now.getFullYear(), now.getMonth(), 1); // 本月第一天
const lastDayOfMonth = new Date(now.getFullYear(), now.getMonth() + 1, 0); // 本月最后一天
console.log(firstDayOfMonth, lastDayOfMonth); // 输出本月开始和结束日期

示例结果:本月开始日期为:2021年8月1日、本月结束日期为:2021年8月31日

获取上月的开始和结束日期

const now = new Date();
const firstDayOfLastMonth = new Date(now.getFullYear(), now.getMonth() - 1, 1); // 上月第一天
const lastDayOfLastMonth = new Date(now.getFullYear(), now.getMonth(), 0); // 上月最后一天
console.log(firstDayOfLastMonth, lastDayOfLastMonth); // 输出上月开始和结束日期

示例结果:上月开始日期为:2021年7月1日、上月结束日期为:2021年7月31日

获取本季度的开始和结束日期

const now = new Date();
const quarter = Math.floor(now.getMonth() / 3); // 当前季度
const firstDayOfQuarter = new Date(now.getFullYear(), quarter * 3, 1); // 当前季度第一天
const lastDayOfQuarter = new Date(now.getFullYear(), quarter * 3 + 3, 0); // 当前季度最后一天
console.log(firstDayOfQuarter, lastDayOfQuarter); // 输出当前季度开始和结束日期

示例结果:本季度开始日期为:2021年7月1日、本季度结束日期为:2021年9月30日

获取上季度的开始和结束日期

const now = new Date();
const lastQuarter = Math.floor((now.getMonth() + 9) / 3) - 1; // 上季度
const firstDayOfLastQuarter = new Date(now.getFullYear(), lastQuarter * 3, 1); // 上季度第一天
const lastDayOfLastQuarter = new Date(now.getFullYear(), lastQuarter * 3 + 3, 0); // 上季度最后一天
console.log(firstDayOfLastQuarter, lastDayOfLastQuarter); // 输出上季度开始和结束日期

示例结果:上季度开始日期为:2021年4月1日、上季度结束日期为:2021年6月30日

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js 获取本周、上周、本月、上月、本季度、上季度的开始结束日期 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • 使用js正则表达式验证文件扩展名方法实例

    使用 JavaScript 正则表达式验证文件扩展名是一个常见的前端开发需求,下面是一份完整的攻略,供参考。 什么是文件扩展名? 在计算机领域,文件扩展名是指在文件名的末尾添加的一个或多个字符,用于表示该文件的类型。例如,“.txt” 表示文本文件,“.png” 表示图像文件,“.html” 表示网页文件等等。 验证文件扩展名的方法 在 JavaScript…

    JavaScript 2023年5月27日
    00
  • js类定义函数时用prototype与不用的区别示例介绍

    当我们定义一个 JavaScript 的对象时,可以使用构造函数对其进行初始化,也可以使用 prototype 扩展对象,JavaScript 中的类的定义可以使用 prototype 与不使用 prototype 两种方式。 使用 prototype 的方式,代码可读性好,易于维护。同时可以减少对象的内存占用,避免过多的类定义,同时可以节省执行时间。 不使…

    JavaScript 2023年6月11日
    00
  • 详解JavaScript中jQuery和Ajax以及JSONP的联合使用

    详解JavaScript中jQuery和Ajax以及JSONP的联合使用 概述 在现代前端开发中,通过AJAX技术可以实现无需整页刷新的异步加载数据,从而提升用户体验。而jQuery作为目前最流行的JavaScript库,为我们提供了非常便捷的Ajax操作API。除此之外,由于浏览器的同源策略,我们需要借助JSONP跨域获取到其他域名下的数据,在此过程中jQ…

    JavaScript 2023年6月11日
    00
  • javascript深拷贝的几种情况总结

    JavaScript深拷贝的几种情况总结 在 JavaScript 中,对于对象的赋值,常常会遇到浅拷贝和深拷贝的问题。浅拷贝只复制对象的引用,而深拷贝则是复制对象的值。这篇文章将总结 JavaScript 中深拷贝的几种情况以及对应的实现方法。 基本数据类型 字符串、数值、布尔类型(string, number, boolean) 基本数据类型的深拷贝非常…

    JavaScript 2023年6月10日
    00
  • JS封装cookie操作函数实例(设置、读取、删除)

    下面我来为你详细讲解“JS封装cookie操作函数实例(设置、读取、删除)”的完整攻略。 什么是cookie cookie 是浏览器用于存储用户信息的一种机制。当我们需要在应用程序之间共享数据时,可以使用 cookie 来存储数据。它是一种名为键-值对的数据结构,可以存储在浏览器中的本地电脑上,并在将来的会话之间使用。 如何进行cookie操作 我们可以使用…

    JavaScript 2023年6月11日
    00
  • Js生成随机数/随机字符串的方法小结【5种方法】

    下面是对“Js生成随机数/随机字符串的方法小结【5种方法】”的完整攻略。 标题 Js生成随机数/随机字符串的方法小结【5种方法】 概述 在编写 JavaScript 代码时,随机数和随机字符串的生成是非常常见的需求。本文将介绍总共 5 种方法来生成随机数和随机字符串。 生成随机整数 Math.random() 方法 Math.random() 是 JavaS…

    JavaScript 2023年5月28日
    00
  • javascript dom 基本操作小结

    Javascript DOM 基本操作小结 在编写基于Web的Javascript应用程序时,经常需要对Document Object Model(DOM)进行操作。本文将介绍DOM基本操作的相关知识,并提供一些示例。 什么是DOM? DOM是指文档对象模型(Document Object Model),用于在HTML或XML文档中表示和操作元素。DOM将整…

    JavaScript 2023年6月10日
    00
  • 酷炫jQuery全屏3D焦点图动画效果

    下面是 “酷炫jQuery全屏3D焦点图动画效果”的完整攻略: 1. 确定需求 在开始编写代码之前,首先需要明确你所要实现的功能和效果,比如,该全屏3D焦点图所需达成的效果,是否需要自动播放滚动、是否需要左右切换、是否需要鼠标移入暂停等。 2. 界面设计 在明确需求之后,需要设计和制作该全屏3D焦点图的样式和界面。重点要考虑的是,如何将图片排列在屏幕上,如何…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部