如何使用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的外部库的想法,该库有助于格式化日期并找到本教程的目标。