// 获取当前月份时间戳
getTimeStamp() {
// 获取时间戳 (本月第一天00.00.00 本月最后一天23.59.59)
var data = new Date(); //本月
data.setDate(1);
data.setHours(0);
data.setSeconds(0);
data.setMinutes(0);
// dateObject 的月份字段,使用本地时间。返回值是 0(一月) 到 11(十二月) 之间的一个整数。
// 感谢 xiaoli_ya(https://me.csdn.net/li15735929289)的批评指正
var data1 = new Date(); // 下月
if (data.getMonth() == 11) {
data1.setMonth(0);
} else {
data1.setMonth(data.getMonth() + 1);
}
data1.setDate(1);
data1.setHours(0);
data1.setSeconds(0);
data1.setMinutes(0);
console.log("本月第一天0点" + data.getTime());
console.log("本月最后一天23点" + data1.getTime());
var timeStart = parseInt(data.getTime());
var timeEnd = parseInt(data1.getTime()) - 1; //(计算下月1号时间戳-1即可)
this.form.createTimeStart = timeStart; //当前月份第一天
this.form.createTimeEnd = timeEnd; //当前月份第一天
},
/**
* 获取上月开始、结束时间戳
* @returns {number[上月开始时间戳,上月结束时间戳]}
*/
lastMonthTimetamp() {
// 一天的秒数
const MillisecondsADay = 24 * 60 * 60;
const date = new Date();
date.setDate(1);
date.setHours(0, 0, 0, 0);
// 当月开始时间戳
const timeStamp = date.getTime() / 1000;
// 上个月的天数
const days = this.month;
// 上月开始时间戳
const lastMonthStart = timeStamp - MillisecondsADay * days;
// 上月结束时间戳
const lastMonthEnd = timeStamp - 1;
// return [lastMonthStart, lastMonthEnd];
// console.log(lastMonthStart, lastMonthEnd);
this.form.createTimeStart = lastMonthStart;
this.form.createTimeEnd = lastMonthEnd;
},
/**
* 上月天数
* @returns {number}
*/
lastMonthDats() {
const date = new Date();
const year = date.getFullYear();
// 上个月月份
let month = date.getMonth() + 1 - 1; // 0-11 表示 1月-12月
// 0 表示12月
month = month || 12;
// 30天的月份
const arr30 = [4, 6, 9, 11];
// 31天的月份
const arr31 = [1, 3, 5, 7, 8, 10, 12];
if (arr30.indexOf(month) !== -1) {
// 上个月是 30 天
this.month = 30;
// return 30;
} else if (arr31.indexOf(month) !== -1) {
// 上个月是 31 天
this.month = 31;
// return 31;
} else {
// 2月
if (this.isRunYear(year)) {
this.month = 29;
// return 29;
} else {
return 28;
}
}
this.lastMonthTimetamp();
},
/**
* 是否为闰年
* @param year
* @returns {boolean}
*/
isRunYear(year) {
// 条件:能被4整除并且不能被100整除,或者被400整除的
let flag = false;
if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) {
flag = true;
}
return flag;
},