js传入月份2023-05,得到该月份的开始日期和结束日期
时间: 2024-03-06 08:50:16 浏览: 64
可以使用 JavaScript 中的 Date 对象来实现获取指定月份的开始日期和结束日期。具体做法如下:
```javascript
// 传入的月份字符串
const monthStr = '2023-05';
// 将月份字符串转换为 Date 对象
const month = new Date(monthStr + '-01');
// 获取该月份的开始日期和结束日期
const start = new Date(month.getFullYear(), month.getMonth(), 1);
const end = new Date(month.getFullYear(), month.getMonth() + 1, 0);
// 将日期对象格式化为字符串
const startDateStr = start.toISOString().substring(0, 10);
const endDateStr = end.toISOString().substring(0, 10);
console.log(startDateStr, endDateStr); // 输出:2023-05-01 2023-05-31
```
上述代码中,首先将传入的月份字符串转换为 Date 对象。然后使用 Date 对象的构造函数获取该月份的开始日期和结束日期,其中获取开始日期时,将 day 参数设置为 1,获取结束日期时,将 month 参数加 1 并将 day 参数设置为 0,这样就可以得到该月份的最后一天。最后,将日期对象格式化为字符串并输出即可。
相关问题
js传入月份2023-05,得到该月份的开始日期和结束日期,换一种方法
好的,您可以使用 JavaScript 中的 Date 对象来获取指定月份的开始日期和结束日期。具体代码如下:
```javascript
// 获取指定月份的开始日期和结束日期
function getMonthStartAndEnd(dateStr) {
// 将传入的日期字符串转换成 Date 对象
const date = new Date(dateStr);
// 获取年份和月份
const year = date.getFullYear();
const month = date.getMonth() + 1;
// 计算该月份的天数
const daysInMonth = new Date(year, month, 0).getDate();
// 构造开始日期和结束日期
const startDate = `${year}-${month.toString().padStart(2, '0')}-01`;
const endDate = `${year}-${month.toString().padStart(2, '0')}-${daysInMonth.toString().padStart(2, '0')}`;
// 返回结果
return {
startDate,
endDate
};
}
// 示例:获取2023年5月份的开始日期和结束日期
const { startDate, endDate } = getMonthStartAndEnd('2023-05');
console.log(startDate); // 输出:2023-05-01
console.log(endDate); // 输出:2023-05-31
```
以上代码会将传入的日期字符串转换成 Date 对象,然后获取年份和月份,计算该月份的天数,并最终构造出该月份的开始日期和结束日期。
阅读全文