js 一年中多个时间段 天数去重
Date.prototype.format = function() {
var s = '';
var mouth = (this.getMonth() + 1)>=10?(this.getMonth() + 1):('0'+(this.getMonth() + 1));
var day = this.getDate()>=10?this.getDate():('0'+this.getDate());
s += this.getFullYear() + '-'; // 获取年份。
s += mouth + "-"; // 获取月份。
s += day; // 获取日。
return (s); // 返回日期。
};
function getAll(begin, end) {
var arr = [];
var ab = begin.split("-");
var ae = end.split("-");
var db = new Date();
db.setUTCFullYear(ab[0], ab[1] - 1, ab[2]);
var de = new Date();
de.setUTCFullYear(ae[0], ae[1] - 1, ae[2]);
var unixDb = db.getTime() - 24 * 60 * 60 * 1000;
var unixDe = de.getTime() - 24 * 60 * 60 * 1000;
for (var k = unixDb; k <= unixDe;) {
//console.log((new Date(parseInt(k))).format());
k = k + 24 * 60 * 60 * 1000;
arr.push((new Date(parseInt(k))).format());
}
return arr;
}
console.log(getAll('2018-07-05','2018-08-05')); // 获取两个时间段的每天 字符串 的数组
//今年第一天时间
//new Date(date).getTime() 字符串转时间戳
var yearOneDay = new Date(new Date().getFullYear() + "-" + "01" + "-" + "01").getTime();
//今天
var today = new Date().getTime();
//去年第一天
var quyearOneDay = new Date(new Date().getFullYear() - 1 + '-' + '01' + '-' + '01').getTime();
//得到格式化 今年第一天
var yearOneDaygs = new Date(yearOneDay);
//去年最后一天
var quyearLastDaygs = yearOneDaygs.setDate(yearOneDaygs.getDate() - 1);
var quyearLastDay = new Date(quyearLastDaygs).getTime();
时间格式化
function parseDateStr(v) {
var time = "";
if (v != null && v != "") {
var date = new Date(v);
Y = date.getFullYear() + '-';
M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
D = (date.getDate() + 1 < 10 ? '0' + (date.getDate()) : date.getDate());
h = date.getHours() + ':';
m = date.getMinutes() + ':';
s = date.getSeconds();
time = Y + M + D;
}
return time;
}
//去重复
function qctimes(a, arr) {
arr.forEach(function (item) {
return a.includes(item) ? '' : a.push(item);
});
return a;
}
,