一、JavaScript获取当月第一天和最后一天
function getMonthDays(year, month) { var date = new Date(year, month, 1); var days = []; while (date.getMonth() === month) { days.push(new Date(date)); date.setDate(date.getDate() + 1); } return days; } var today = new Date(); var year = today.getFullYear(); var month = today.getMonth(); //get the current month var currentMonthDays = getMonthDays(year, month); var firstDay = currentMonthDays[0]; var lastDay = currentMonthDays[currentMonthDays.length - 1];
该代码主要通过new Date()构造函数来获取当前时间所处的年份和月份,同时利用循环方法获取当月的所有日期,最后通过数组的方式取得当月的第一天和最后一天。
二、JavaScript获取当年第一天和最后一天
var today = new Date(); var year = today.getFullYear(); var firstDay = new Date(year, 0, 1); var lastDay = new Date(year, 11, 31);
该代码主要通过new Date()构造函数来获取当前时间所处的年份,从而获取当年的第一天和最后一天。其中,new Date(year, 0, 1)函数中,其中的month参数为0代表一月份,而new Date(year, 11, 31)中的month参数为11代表十二月份。
三、JavaScript获取某月的第一天和最后一天
function getMonthDays(year, month) { var date = new Date(year, month, 1); var days = []; while (date.getMonth() === month) { days.push(new Date(date)); date.setDate(date.getDate() + 1); } return days; } var year = 2022; var month = 5; //代表六月份 var currentMonthDays = getMonthDays(year, month); var firstDay = currentMonthDays[0]; var lastDay = currentMonthDays[currentMonthDays.length - 1];
该代码主要通过new Date(year, month, 1)构造函数来获取指定月份的第一天,而通过循环方法获取指定月份的所有日期,最后取得指定月份的第一天和最后一天。
四、JavaScript获取本周第一天和最后一天
function getWeekDays() { var date = new Date(); var dayOfWeek = date.getDay(); var numDaysToAdd = 0; if (dayOfWeek === 0) { numDaysToAdd = 6; } else if (dayOfWeek !== 1) { numDaysToAdd = dayOfWeek - 1; } var monday = new Date(date.setDate(date.getDate() - numDaysToAdd)); var sunday = new Date(monday.setDate(monday.getDate() + 6)); return [monday, sunday]; } var thisWeekDays = getWeekDays(); var firstDay = thisWeekDays[0]; var lastDay = thisWeekDays[1];
该代码主要通过getWeekDays函数来获取本周的第一天和最后一天,其中利用getDay()函数获取当天的星期数,从而计算出本周第一天的日期。通过numDaysToAdd变量来计算出需要加上的天数,并利用new Date()构造函数来构造出本周的第一天和最后一天。
五、JavaScript获取本月第一天和最后一天
function getMonthDays(year, month) { var date = new Date(year, month, 1); var days = []; while (date.getMonth() === month) { days.push(new Date(date)); date.setDate(date.getDate() + 1); } return days; } var today = new Date(); var year = today.getFullYear(); var month = today.getMonth(); //get the current month var currentMonthDays = getMonthDays(year, month); var firstDay = currentMonthDays[0]; var lastDay = currentMonthDays[currentMonthDays.length - 1];
该代码主要是获取当月的第一天和最后一天,与“JavaScript获取当月第一天和最后一天”相似。由于当月的第一天和最后一天也就是本月的第一天和最后一天,因此,可以通过该代码来实现本月第一天和最后一天的获取。
六、JavaScript获取当前月的第一天和最后一天
function getMonthDays(year, month) { var date = new Date(year, month, 1); var days = []; while (date.getMonth() === month) { days.push(new Date(date)); date.setDate(date.getDate() + 1); } return days; } var today = new Date(); var year = today.getFullYear(); var month = today.getMonth() - 1; //get the previous month var currentMonthDays = getMonthDays(year, month); var firstDay = currentMonthDays[0]; var lastDay = currentMonthDays[currentMonthDays.length - 1];
该代码主要是获取上个月的第一天和最后一天。与“JavaScript获取当月第一天和最后一天”相似,只要将获取当月的month参数减1,就可以获取到上个月的第一天和最后一天。