1. 程式人生 > >js 生成年月的時間序列

js 生成年月的時間序列

使用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; }

轉載請註明出處。