如何使用 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'); // January 1, 2022
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 的外部库的想法,该库有助于格式化日期并实现本教程的目标。