如何使用 JavaScript 获取当前月份的第一天和最后一天?
在本教程中,我们将介绍如何使用 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 的外部库的想法,它有助于格式化日期并找到本教程的目标。