【发布时间】:2017-01-11 06:30:06
【问题描述】:
我想按周和月(在一个数组中)对一个简单的日期数组进行分组。我知道有很多例子,这个问题已经被问过很多次了,但是我找不到一个非常简单的日期格式的例子,而不是日期时间戳。
我的日期数据数组如下所示:
"timeline_data": [
"2016-12-20",
"2016-12-21",
"2016-12-22",
"2016-12-23",
"2016-12-24",
"2016-12-25",
"2016-12-26",
"2016-12-27",
"2016-12-28",
"2016-12-29",
"2016-12-30",
"2016-12-31",
"2017-01-01",
"2017-01-02",
"2017-01-03",
"2017-01-04",
"2017-01-05",
"2017-01-06",
"2017-01-07",
"2017-01-08",
"2017-01-09",
"2017-01-10"
]
这就是让我感动的原因:我不确定是否有一种简单的方法可以循环遍历这个数组,并将项目简单地推入新数组,或者是否必须将日期设置为修改,并用类似的东西删除“-”:
var date="2016-12-20";
var newDate = date.replace(/-/g, "");
显然,“-”必须被替换。
希望有更简单的方法。
【问题讨论】:
-
预期的输出结构是什么?
-
按周分组的日期数组和按月分组的日期数组相同。所以它可能是一个数组数组。
-
您可能需要确定每个日期属于一年中的哪一周(请参阅Get week of year in JavaScript like in PHP),然后按此分组。请小心解析日期字符串,“2016-12-20”将被解析为 UTC,因此根据您的时区,可能会延迟 1 天。使用图书馆。
-
可以将周分组为 7 天的简单数组(数组数组)。没有搞笑的东西。只需计算确切月份的天数,然后按特定月份的数组分组。
标签: javascript arrays