js 计算月/周的第一天和最后一天代码

yizhihongxing

为了计算 JS 中的月/周的第一天和最后一天,可以使用 Date 对象的一些方法和一些 JavaScript 的基本运算技巧。具体攻略如下:

1. 计算月份的第一天和最后一天

1.1 获取当月的第一天

通过 Date 对象中的 getFullYear()getMonth()setDate() 方法可以获取当月的第一天,代码如下:

const date = new Date();
const year = date.getFullYear();
const month = date.getMonth();
const firstDay = new Date(year, month, 1);

上述代码先创建了一个日期对象,然后使用 getFullYear() 方法获取该对象表示的年份,使用 getMonth() 方法获取该对象表示的月份,最后使用 setDate() 方法将日期设置为 1,然后创建一个新的 Date 对象表示当月的第一天。

1.2 获取当月的最后一天

通过 Date 对象中的 getFullYear()getMonth()getDate() 方法可以获取当月的最后一天,代码如下:

const date = new Date();
const year = date.getFullYear();
const month = date.getMonth();
const lastDay = new Date(year, month + 1, 0);

上述代码先创建了一个日期对象,然后使用 getFullYear() 方法获取该对象表示的年份,使用 getMonth() 方法获取该对象表示的月份,再将月份加 1,天数设置为 0,最后创建一个新的 Date 对象表示当月的最后一天。

2. 计算周的第一天和最后一天

2.1 获取当前日期所在周的第一天

通过 Date 对象中的 getDay() 方法和一些基本运算技巧,可以获取当前日期所在周的第一天。代码如下:

const date = new Date();
const day = date.getDay();
const diff = date.getDate() - day + (day === 0 ? -6 : 1);
const firstDay = new Date(date.setDate(diff));

上述代码先创建了一个日期对象,然后使用 getDay() 方法获取该对象表示的周几,再通过一些基本运算技巧计算出当前日期所在周的第一天,并创建一个新的 Date 对象表示该日期。

2.2 获取当前日期所在周的最后一天

同样通过 Date 对象中的 getDay() 方法和一些基本运算技巧,可以获取当前日期所在周的最后一天。代码如下:

const date = new Date();
const day = date.getDay();
const diff = date.getDate() - day + 6;
const lastDay = new Date(date.setDate(diff));

上述代码的基本逻辑与获取当前日期所在周的第一天相同,只是在计算的时候将起始日期加上了 6 天,从而得到当前日期所在周的最后一天。

示例说明

下面的示例演示了上述代码的使用过程:

// 获取当月的第一天
const date = new Date();
const year = date.getFullYear();
const month = date.getMonth();
const firstDay = new Date(year, month, 1);
console.log(`本月的第一天是 ${firstDay.toLocaleDateString()}`);

// 获取当月的最后一天
const lastDay = new Date(year, month + 1, 0);
console.log(`本月的最后一天是 ${lastDay.toLocaleDateString()}`);

// 获取本周的第一天
const day = date.getDay();
const diff = date.getDate() - day + (day === 0 ? -6 : 1);
const firstDayOfWeek = new Date(date.setDate(diff));
console.log(`本周的第一天是 ${firstDayOfWeek.toLocaleDateString()}`);

// 获取本周的最后一天
const diff2 = date.getDate() - day + 6;
const lastDayOfWeek = new Date(date.setDate(diff2));
console.log(`本周的最后一天是 ${lastDayOfWeek.toLocaleDateString()}`);

运行上述代码后,会输出当前日期所在月的第一天、最后一天以及当前日期所在周的第一天和最后一天。

输出结果:

本月的第一天是 2022/2/1
本月的最后一天是 2022/2/28
本周的第一天是 2022/2/28
本周的最后一天是 2022/3/6

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js 计算月/周的第一天和最后一天代码 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • JavaScript实现数组降维详解

    现在我会详细讲解一下“JavaScript实现数组降维详解”的完整攻略,过程中将包含两个示例。 什么是数组降维? 在 JavaScript 中,一个数组可能会包含多个层级,这时候我们可能需要将这个多维数组转换为一维数组,这个过程就被称为数组降维。 实现数组降维 在 JavaScript 语言中,我们可以使用一些方法来实现数组降维。 方法一:使用 flat()…

    JavaScript 2023年5月27日
    00
  • javascript显示动态时间的方法汇总

    我来为你讲解一下“JavaScript显示动态时间的方法汇总”的完整攻略。 JavaScript显示动态时间的方法汇总 1. 使用Date对象 Date对象是 JavaScript 内置的日期时间对象,可以获取当前本地时间。通过setInterval方法实现定时更新。 示例代码如下: <p id="demo"></p&g…

    JavaScript 2023年5月27日
    00
  • Java使用正则表达式匹配获取链接地址的方法示例

    下面是“Java使用正则表达式匹配获取链接地址的方法示例”的详细攻略: 1. 简介 在HTML页面中,链接地址是一个常见的元素。使用正则表达式可以快速地匹配出所有链接地址或者特定类型的链接地址。Java中的正则表达式使用Pattern和Matcher类进行实现。 2. 获取网页源代码 在Java程序中,获取网页源代码可以使用Java中自带的URLConnec…

    JavaScript 2023年6月10日
    00
  • python处理cookie详解

    Python处理Cookie详解 在使用网络爬虫进行数据采集的过程中,常常需要处理网站返回的Cookie信息。本文将详细讲解如何使用Python处理Cookie。 什么是Cookie Cookie是一种在访问网站时,由网站服务器发送到用户浏览器的数据,用于记录用户信息、个人偏好和浏览历史等。Cookie可以取代session来进行用户状态的跟踪,且更加灵活。…

    JavaScript 2023年6月11日
    00
  • 灵活掌握asp.net中gridview控件的多种使用方法(上)

    关于“灵活掌握asp.net中gridview控件的多种使用方法(上)”,我将从以下几个方面进行详细讲解: GridView控件的基本使用 翻页、排序和筛选功能的实现 多表联合查询结果展示 多数据源联合查询结果展示 下面我们分别来详细讲解。 1. GridView控件的基本使用 GridView控件是ASP.NET中最常用的数据展示控件之一。其基本用法如下:…

    JavaScript 2023年6月11日
    00
  • 微信小程序开发animation心跳动画效果

    下面是关于微信小程序开发animation心跳动画效果的完整攻略: 一、准备工作 在微信开发者工具中创建一个新的小程序项目。 在项目根目录下创建一个 animation 文件夹,用于存放心跳动画所需的图片资源。 二、设计心跳动画 在 animation 文件夹中准备两张心形图片,大小可以根据自己的需求而定。 在小程序页面的 wxml 文件中将两张图片插入。 …

    JavaScript 2023年6月11日
    00
  • 理解JS事件循环

    理解JS事件循环,需要掌握以下几个知识点: JS运行时栈(Call Stack):存储函数调用的栈结构,遵循先进后出的原则。 Web API: 浏览器提供的API,如setTimeout, setInterval, fetch等,支持异步操作。 事件队列(Event Queue):存储Web API中的回调函数。 Event Loop:事件循环机制,它负责检…

    JavaScript 2023年6月10日
    00
  • JavaScript学习笔记(三):JavaScript也有入口Main函数

    接下来我将详细讲解“JavaScript学习笔记(三):JavaScript也有入口Main函数”的完整攻略。 什么是JavaScript的入口Main函数? 在很多编程语言中,都有一个入口函数,比如Java中的main函数、C++中的main函数等等。在JavaScript中,虽然没有像Java、C++那样明确的入口函数,但是我们可以通过编写一个init函…

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