先来解释一下获取日期的方式:可以通过 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技术站