您的位置:

JS获取当月第一天和最后一天详细阐述

JS获取当前月份的第一天和最后一天是前端开发中比较常见的操作,尤其在需要显示某个月份内的数据时,获取当月第一天和最后一天是必不可少的。本文将从多个方面对这个问题做详细阐述。

一、获取当前月份的第一天

获取当前月份的第一天有多种方式,下面我们将分别介绍。

1.使用Date对象

Date对象是JS内置的一个日期对象,它提供了获取年、月、日等信息的方法。获取当月第一天的方法如下:

function getFirstDayOfMonth(){
    var date = new Date();
    var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);
    return firstDay;
}

以上代码中,首先使用new Date()获取当前日期信息,然后使用Date对象的getMonth()方法获取当前月份。接着使用new Date(year, month, day)的构造函数创建一个新的日期对象,参数中的year和day分别表示年份和月份,day使用1表示当前月份的第一天。最后返回创建的日期对象即可。

2.使用moment库

moment是一个JS日期库,它提供了许多便捷的日期操作方法。获取当月第一天的方法如下:

function getFirstDayOfMonth(){
    var moment = require('moment');
    var firstDay = moment().startOf('month');
    return firstDay;
}

以上代码中,首先使用require导入moment库。然后使用moment()获取当前日期信息,调用startOf('month')方法获取当月第一天的日期对象。最后返回日期对象即可。

3.使用day.js库

day.js是一个轻量级的日期库,它提供了许多便捷的日期操作方法。获取当月第一天的方法如下:

function getFirstDayOfMonth(){
    var dayjs = require('dayjs');
    var firstDay = dayjs().startOf('month');
    return firstDay;
}

以上代码中,首先使用require导入dayjs库。然后使用dayjs()获取当前日期信息,调用startOf('month')方法获取当月第一天的日期对象。最后返回日期对象即可。

二、获取当前月份的最后一天

获取当前月份的最后一天也有多种方式,下面我们将分别介绍。

1.使用Date对象

获取当前月份的最后一天需要先获取下个月的第一天,再向前推一天即可。具体方法如下:

function getLastDayOfMonth(){
    var date = new Date();
    var nextMonth = new Date(date.getFullYear(), date.getMonth()+1, 1);
    var lastDay = new Date(nextMonth.getTime()-1000*60*60*24);
    return lastDay;
}

以上代码中,首先使用new Date()获取当前日期信息,然后使用new Date(year, month, day)的构造函数创建一个新的日期对象,参数中的year和day分别表示年份和下一个月份,day使用1表示下一个月份的第一天。接着使用getTime()方法获取这个日期对象的时间戳,减去一天的毫秒数即可获取当前月份的最后一天的时间戳。最后使用new Date(timestamp)构造函数创建一个新的日期对象,返回即可。

2.使用moment库

获取当前月份的最后一天需要先获取下个月的第一天,再向前推一天即可。具体方法如下:

function getLastDayOfMonth(){
    var moment = require('moment');
    var lastDay = moment().endOf('month');
    return lastDay;
}

以上代码中,首先使用require导入moment库。然后使用moment()获取当前日期信息,调用endOf('month')方法获取当月最后一天的日期对象。最后返回日期对象即可。

3.使用day.js库

获取当前月份的最后一天需要先获取下个月的第一天,再向前推一天即可。具体方法如下:

function getLastDayOfMonth(){
    var dayjs = require('dayjs');
    var lastDay = dayjs().endOf('month');
    return lastDay;
}

以上代码中,首先使用require导入dayjs库。然后使用dayjs()获取当前日期信息,调用endOf('month')方法获取当月最后一天的日期对象。最后返回日期对象即可。

三、小结

本文对JS获取当前月份的第一天和最后一天的问题进行了详细的阐述,介绍了多种获取方法。希望本文对读者有所帮助。