获取当前月(季度/年)的最后一天,是一项非常实用的时间操作,可以用来生成各种类型的报表或实现预测功能。下面是完整的攻略:
获取当前月的最后一天
获取当前月的最后一天比较简单,可以用JS内置的Date对象来实现:
const now = new Date();
const year = now.getFullYear();
const month = now.getMonth() + 1;
const lastDate = new Date(year, month, 0);
上述代码中,我们首先通过new Date()
获取当前的时间戳,然后使用getFullYear()
和getMonth()
分别获取当前的年份和月份。接下来,我们创建一个新的Date对象lastDate
,使用当前年份和月份(注意,getMonth()
返回的是0-11的数字,需要加1),以及0
作为日期参数,直接生成当前月的最后一天。这是因为,在JS中,构造函数的第三个参数表示的是日期,如果传入0,则表示获取对应月份的上一个月,然后再通过getDate()
获取这个日期的最大值。
获取当前季度的最后一天
获取当前季度的最后一天也比较容易,只需要进行一些数学运算就可以了:
const now = new Date();
const year = now.getFullYear();
const month = now.getMonth();
const quarter = Math.floor(month / 3);
const lastDate = new Date(year, quarter * 3 + 3, 0);
上述代码中,我们首先获取当前的时间戳,然后通过getFullYear()
和getMonth()
获取当前的年份和月份。注意,这里我们只需要获取月份,因为季度与月份的对应关系比较简单,直接采用整除的方式就可以得到当前是第几个季度。接着,我们建立一个新的Date对象lastDate
,使用当前年份,当前季度的最后一个月份(即(季度 * 3 + 3)),以及0
作为日期参数,获取当前季度的最后一天。
获取当前年的最后一天
获取当前年的最后一天,需要先获取当前年份,然后构造一个包含所有12个月份的数组,最后遍历数组并获取每个月的最后一天的最大值即可:
const now = new Date();
const year = now.getFullYear();
const dates = [];
for (let i = 0; i < 12; i++) {
dates.push(new Date(year, i + 1, 0).getDate());
}
const lastDate = new Date(year, 11, dates[11]);
上述代码中,我们首先获取当前的时间戳,然后使用getFullYear()
获取当前的年份。接下来,我们建立一个空数组dates
,并使用for循环遍历12个月份,每个月份都构造一个新的Date对象,获取该月份的最后一天和日期的最大值,然后将最大值添加到数组中。最后,我们建立一个新的Date对象lastDate
,使用当前年份,12月份和12月份的最后一天日期的最大值,获取当前年的最后一天。
示例
下面是两个示例,用于演示如何使用上述方法获取当前月、季度和年的最后一天:
// 获取当前月的最后一天
const now = new Date();
const year = now.getFullYear();
const month = now.getMonth() + 1;
const lastDate = new Date(year, month, 0);
console.log(`当前月的最后一天是${lastDate}`);
// 获取当前季度的最后一天
const now = new Date();
const year = now.getFullYear();
const month = now.getMonth();
const quarter = Math.floor(month / 3);
const lastDate = new Date(year, quarter * 3 + 3, 0);
console.log(`当前季度的最后一天是${lastDate}`);
// 获取当前年的最后一天
const now = new Date();
const year = now.getFullYear();
const dates = [];
for (let i = 0; i < 12; i++) {
dates.push(new Date(year, i + 1, 0).getDate());
}
const lastDate = new Date(year, 11, dates[11]);
console.log(`当前年的最后一天是${lastDate}`);
以上示例分别获取了当前月、季度和年的最后一天,并将它们输出到控制台。通过这些代码,我们可以轻松地获取当前时间的最后一天,从而更好地进行各种计算和数据分析。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:获取当前月(季度/年)的最后一天(set相关操作及应用) - Python技术站