1、获取两个日期之间所有的日期
getAllDate (start, end) {
var dateRange = new Array();
var i=0;
//开始日期小于等于结束日期,并循环
while(start<=end){
dateRange[i] = start;
//获取开始日期时间戳
var start_ts = new Date(start).getTime();
//增加一天时间戳后的日期
var next_date = start_ts + (24*60*60*1000);
//拼接年月日,这里的月份会返回(0-11),所以要+1
var next_dates_y = new Date(next_date).getFullYear()+'-';
var next_dates_m = (new Date(next_date).getMonth()+1 < 10)?'0'+(new
Date(next_date).getMonth()+1)+'-':(new Date(next_date).getMonth()+1)+'-';
var next_dates_d = (new Date(next_date).getDate() < 10)?'0'+new
Date(next_date).getDate():new Date(next_date).getDate();
start = next_dates_y + next_dates_m + next_dates_d;
//增加数组key
i++;
}
return dateRange
}
2、日期对象格式化函数
let dateFormate = function (value, formate = 'YYYY/MM/DD HH:mm:SS') {
if (value) {
let dateObj;
switch (Object.prototype.toString.call(value)) {
case '[object Number]':
dateObj = new Date(value);
break;
case '[object String]':
value = value.replace(/-/g, '/') //ie 不支持 '2018-11-11 00:01:01' 这样的写法 Invalid Date;
dateObj = new Date(value);
break;
case '[object Date]':
dateObj = value;
break;
default:
console.log('value:', value, Object.prototype.toString.call(value))
return value;
break;
}
const year = dateObj.getFullYear();
const month = Number(dateObj.getMonth() + 1) > 9 ? String(dateObj.getMonth() + 1) : '0' + String(dateObj.getMonth() + 1);
const day = Number(dateObj.getDate()) > 9 ? String(dateObj.getDate()) : '0' + String(dateObj.getDate());
const hour = Number(dateObj.getHours()) > 9 ? String(dateObj.getHours()) : '0' + String(dateObj.getHours());
const minute = Number(dateObj.getMinutes()) > 9 ? String(dateObj.getMinutes()) : '0' + String(dateObj.getMinutes());
const second = Number(dateObj.getSeconds()) > 9 ? String(dateObj.getSeconds()) : '0' + String(dateObj.getSeconds());
formate = formate.replace(/Y{1,4}/i, year)
formate = formate.replace(/M{1,2}/, month)
formate = formate.replace(/D{1,2}/i, day)
formate = formate.replace(/H{1,2}/i, hour)
formate = formate.replace(/m{1,2}/, minute)
formate = formate.replace(/S{1,2}/i, second)
return formate;
} else {
return ''
}
}
Vue.prototype.dateFormate = dateFormate
3、 获取某个日期之后12个月的月份
var dataArr = [];
var data = new Date();
var year = data.getFullYear(); //以今天为例,也可以传入指定的日期
data.setMonth(data.getMonth()-1, 1); //获取到当前月份,设置月份
for (var i = 0; i < 12; i++) {
data.setMonth(data.getMonth() + 1); //每次循环一次 月份值加1
var m = data.getMonth() + 1;
m = m < 10 ? "0" + m : m;
dataArr.push(data.getFullYear() +'年' + "-" + m + '月');
}
持续添加中~