日期資料陣列按實際周和實際月進行分組

2021-10-05 01:53:53 字數 1661 閱讀 4758

實現效果如下:原始資料是兩個陣列,date陣列存放日期,value陣列存放日期對應的數值,經過按周分組和按月分組輸出week和month(2020-02-27是周四,2020-03-02是周一,2020-03-09也是周一,符合要求)

封裝了兩個方法,**如下:groupbyweek和groupbymonth,輸入值均為date-日期陣列和value-值陣列

const date = ["2020-02-27","2020-02-28","2020-02-29","2020-03-01", "2020-03-02", "2020-03-03", "2020-03-04", "2020-03-05", "2020-03-06", "2020-03-07", "2020-03-08", "2020-03-09", "2020-03-10", "2020-03-11", "2020-03-12", "2020-03-13", "2020-03-14", "2020-03-15", "2020-03-16", "2020-03-17", "2020-03-18", "2020-03-19", "2020-03-20", "2020-03-21"];

const value = [0,0,0,3, 2, 2, 6, 5, 3, 5, 4, 8, 5, 8, 9, 9, 0,4,6,7,8,1,2,3];

console.log();

console.log();

const week = groupbyweek(date, value);

const month = groupbymonth(date, value);

console.log();

console.log();

// 按周分組

function groupbyweek(date, value) );

/*從前往後找第乙個「星期日」,返回下標*/

const index = weekdate.findindex((value)=>);

if(index >= 0) else

return ;

// 圖表資料分組方法:arr1-圖表橫座標,arr2-圖表縱座標資料,group-以幾條資料為一組

function datagroupfunc(arr1, arr2, group)

}newarr2.push(count);

i+=group;

}return }}

// 按月分組

function groupbymonth(date, value) );

group(montharr, 0 , 0);

/*根據分好組的下標資訊開始擷取原始陣列*/

indexarr.foreach((item) => );

/*把每個分組的第一項拿出用於圖表橫座標的值*/

newdate1.foreach((item) => );

/*計算縱座標的和值*/

newvalue1.foreach((item) => );

return ;

//陣列相同項合一組記錄下標

function group(arr, index, index1) else }}

}}

SQL語句獲得本年日期資料與本月日期資料

本年 select dateadd dd,number datename yy,getdate 0101 from master.spt values where type p andnumber datediff dd,datename yy,getdate 0101 datename yy,ge...

去除多餘的日期陣列

工具類 description 根據bgntime,endtime生成該時間範圍內的日期集合 author date 2018年09月21日 17 01 38 param bgntime param endtime return public static treesetgetcreateextra...

ORACLE插入日期資料

命令 insert into floor values to date 年 月 日 時 分 秒 yyyy mm dd hh24 mi ss 例子 在 sql plus 環境。當省略hh mi和ss對應的輸入引數時,oracle使用0作為default值。如果輸入的日期資料忽略時間部分,oracle會...