js 生成年月的時間序列
阿新 • • 發佈:2018-11-20
使用echarts時需要動態生成日期序列的橫座標,於是動手寫了個生成橫座標的函式。
/*
* 輸入兩個日期生成時間序列
* 輸入格式:201801 (表示2018年1月)
* 如輸入201702 201809
* 輸出陣列 [201702,201703,201704....,201809]
* */
function getDateList(startDateStr, endDateStr) {
var result = [];//結果陣列
var startYear = startDateStr.substr(0, 4); //開始時間的年份
var startMonth = startDateStr.substr(4 , 2);//開始時間的月份
var endYear = endDateStr.substr(0, 4);//結束時間的年份
var endMonth = endDateStr.substr(4, 2);//結束時間的月份
var startDate = new Date(startYear, startMonth);
var years = endYear - startYear - 1;
var count = 0;//計算相隔月份
if (years >= 0) {
count = years * 12;
count += (12 - parseInt(startMonth));
count += parseInt(endMonth);
}else {
count = parseInt(endMonth)-parseInt(startMonth);
}
for (var i = 0; i <= count; i++) {
var tempYear = startDate.getFullYear().toString();
var tempMonth = startDate.getMonth().toString().length == 1 ? '0' + startDate.getMonth().toString() : startDate.getMonth().toString();
if (tempMonth == '00') {
tempYear = (tempYear - 1).toString();
tempMonth = '12';
}
result.push(tempYear + tempMonth);
startDate.setMonth(startDate.getMonth() + 1);
}
return result;
}
轉載請註明出處。