如何使用 JavaScript 获取当前月份的第一天和最后一天?

javascriptweb developmentfront end technology

在本教程中,我们将介绍如何使用 JavaScript 获取当前月份的第一天和最后一天。

在日常生活中,我们经常与日期打交道,我们通常知道我们所处的日期,或者至少是月份。为了帮助用户确定与他们当前情况有关的事情何时发生或将要发生,我们会显示日期或月份的名称。这是一个很棒的年表。

以下是使用 JavaScript 获取月份的第一天和最后一天的方法 -

  • 使用 Date 对象

  • 使用 Moment.js

使用 Date 对象

在这种方法中,我们可以使用不同的方法来找出月份的第一天和最后一天。

getDate() 方法用于指定日期,返回月份中的日期(从 1 到 31)。此方法返回月份的日期,用 1 到 31 之间的数字表示。

然后我们使用 getFullYear() 方法返回指定日期的年份(1000 到 9999 之间的年份为四位数字)。它返回与指定日期的年份相对应的数字。

getMonth() 方法基于本地时间,返回指定日期的月份(从 0 到 11)。它返回一个从 0 到 11 的数字,表示月份。

语法

以下是获取当前月份第一天和最后一天的语法 -

var date = new Date();
var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);
var lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0);

这里,创建了一个对象 date,它将调用代码中指定的方法。我们再次创建一个新的日期对象 firstDay 来获取当前月份的第一天。为此,我们将第三个参数传递为 1。选择 1 表示给出了该月的第一天。

以同样的方式,我们创建了日期对象 lastDay 来获取当前月份的最后一天。选择 0 表示给出了该月的最后一天。当我们将 1 添加到 getMonth() 方法的返回值时,我们将向前移动一个月。然后,通过指定 0 作为日期,我们将向后移动一天,到该月的最后一天。

示例

在此示例中,我们可以看到正在创建一个日期对象。日期对象调用方法 getFullYear()getMonth() 来找出当前月份的第一天。

<html> <body> <h2>Get first and last date using <i>Date Object</i></h2> <p id ="date1"></p> <p id ="date2"></p> <script> var date = new Date(); var firstDay = new Date(date.getFullYear(), date.getMonth(), 1); var lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0); document.getElementById("date1").innerHTML = "First day = " + firstDay; document.getElementById("date2").innerHTML = "Last day = " + lastDay; </script> </body> </html>

使用 Moment.js 库

Moment.js 是一个 JavaScript 包。这使得在 JavaScript 中解析、操作、验证和显示日期和时间变得非常简单。本章将介绍 Moment.js,然后全面讨论其功能。Moment JS 可以以翻译和易读的方式呈现日期。Moment.js 具有脚本化方法,可让您在浏览器中使用它。

语法

以下是 Moment.js 日期格式的语法 −

const moment = require('moment');
const date = new Date('2022/01/01');
moment(date).format('MMMM d, YYYY'); // 2022 年 1 月 1 日

脚本中包含 moment 库,并创建了一个日期对象。调用日期对象并根据给定的格式进行格式化。

示例

在此示例中,我们可以看到 Moment.js 库是如何包含在脚本中的。firstdate 变量调用 moment 库并以指定的格式 DD-MM-YYYY 返回月份的第一天。同样,lastdate 变量将以特定的格式返回月份的最后一天。

<html> <head> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.26.0/moment.min.js"> </script> <script src="https://cdnjs.cloudflare.com/ajax/libs/momenttimezone/0.5.31/moment-timezone-with-data-2012-2022.min.js"></script> </head> <body> <h2>Get first and last date using <i>Moment JS</i></h2> <p id ="date1"></p> <p id ="date2"></p> <script> const firstdate = moment().startOf('month').format('DD-MM-YYYY'); const lastdate=moment().endOf('month').format("DD-MM-YYYY"); document.getElementById("date1").innerHTML = "First day = " + firstdate; document.getElementById("date2").innerHTML = "Last day = " + lastdate; </script> </body> </html>

在本教程中,我们学习了如何使用 JavaScript 查找月份的第一天和最后一天。第一种方法讨论了使用 getDate()getMonth()getFullYear() 方法使用日期对象的前景。第二种方法探讨了使用名为 MomentJS 的外部库的想法,它有助于格式化日期并找到本教程的目标。


相关文章