本文主要是介绍获取上个月或者下个月的时间戳,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
需求:给定一个时间戳,获取这个时间戳上个月或者下个月的时间戳?
难点是不确定月份,所以这里先获取月份,再判断的(具体看代码注释都有)。时间戳转年月日就不贴出来了,网上太多了
用法:
// 上个月:
this.time = this.getPreviousMonthTimestamp(Number(new Date()), 0)
// 下个月:
this.time = this.getPreviousMonthTimestamp(Number(new Date()), 1)
代码:
// 获取上个月或者下个月的时间戳
getPreviousMonthTimestamp(timestamp, addType) {// 将时间戳转换为Date对象 let date = new Date(timestamp);// 获取当前月份 let currentMonth = date.getMonth();if (addType === 0) {// 判断当前月份是否为1月,如果是,则将上个月的月份设置为去年的12月 if (currentMonth === 0) {currentMonth = 11; // 0表示1月,因此需要将月份减1 date = new Date(date.getFullYear() - 1, currentMonth, 1); // 设置日期为去年的12月1日 } else {// 否则,将上个月的月份设置为当前月份减1 currentMonth--;date = new Date(date.getFullYear(), currentMonth, 1); // 设置日期为上个月的1号 }} else {// 判断当前月份是否为12月,如果是,则将下个月的月份设置为去明年的1月 if (currentMonth === 11) {currentMonth = 0; // 0表示1月,因此需要将月份减1 date = new Date(date.getFullYear() + 1, currentMonth, 1); // 设置日期为去年的12月1日 } else {// 否则,将下个月的月份设置为当前月份加1 currentMonth++;date = new Date(date.getFullYear(), currentMonth, 1); // 设置日期为下个月的1号 }}// 获取上个月的时间戳 let previousMonthTimestamp = date.getTime();return previousMonthTimestamp;
}
这篇关于获取上个月或者下个月的时间戳的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!