$date = array('01-01-2019','02-01-2019','05-01-2019','22-01-2019','02-02-2019','03-02-2019','24-02-2019');
上面是我的数组,我想将日期按周分组,这样我就可以在报告中正确地显示它们。所以会是这样的:
Array
(
[31-12-2018/06-01-2019] => Array // this is based in calendar week
(
[0] => 01-01-2019
[1] => 02-01-2019
[2] => 05-01-2019
)
[21-01-2019/27-01-2019] => Array
(
[0] => 22-01-2019
)
[28-01-2019/03-02-2019] => Array
(
[0] => 02-02-2019
[1] => 03-02-2019
)
[18-02-2019/24-02-2019] => Array
(
[0] => 24-02-2019
)
)
这段代码会做你想做的事情。它将每个日期值转换为datetime
对象,查找该日期的周开始和周结束,然后将该值推入由周开始和周结束值索引的新数组:
$date = array('01-01-2019','02-01-2019','05-01-2019','22-01-2019','02-02-2019','03-02-2019','24-02-2019');
$dates = array();
foreach ($date as $d) {
$od = date_create_from_format('d-m-Y', $d);
// get start and end of this week
$sow = $od->sub(new DateInterval('P' . ($od->format('N') - 1). 'D'))->format('d-m-Y');
$eow = $od->add(new DateInterval('P6D'))->format('d-m-Y');
$dates["$sow/$eow"][] = $d;
}
print_r($dates);
输出:
Array (
[31-12-2018/06-01-2019] => Array (
[0] => 01-01-2019
[1] => 02-01-2019
[2] => 05-01-2019
)
[21-01-2019/27-01-2019] => Array (
[0] => 22-01-2019
)
[28-01-2019/03-02-2019] => Array (
[0] => 02-02-2019
[1] => 03-02-2019
)
[18-02-2019/24-02-2019] => Array (
[0] => 24-02-2019
)
)
3v4L.org上的演示
问题内容: 我有这个数据框: 我想按名称和日期进行汇总以获取数量总和。详细信息: 日期 :组,结果应在星期初(或仅在星期一) 数量 :两个或多个记录具有相同的名称和日期(如果属于相同间隔)的总和 所需的输出如下: 提前致谢 问题答案: 首先转换列 并减去一个星期,因为我们要对日期之前一周进行累加,而不是该日期之前一周。 然后通过W-MON使用with并进行聚合:
问题内容: Oracle的表服务器提供了一个内置功能。此功能将任何时间戳转换为前一个星期日的午夜。在MySQL中执行此操作的最佳方法是什么? Oracle还提供将时间戳转换为发生该月的第一天的午夜。在MySQL中,这很简单: 但是这个技巧将在数周内失效。我知道此功能,但是我真的不想要一年内的星期数。这些东西是用于多年的工作。 问题答案: 想通了…有点麻烦,但这就是。 而且,如果您的业务规则说您的工
我想使用泛型制作数组。 但出现编译错误。 如何使用泛型制作数组?
我正在尝试使用获取下周的星期三日期。但是,它返回的是星期一的。为什么会这样?如何得到正确的结果? 我试图在PHP沙箱中在线复制它,但它返回了正确的结果http://sandbox.onlinephpfunctions.com/code/7ab99fcfeffedc1ad01d7de9ed236ac273fe1bb3这可能取决于我的环境吗? PHP7.0。11(cli)(创建日期:2016年10月2
这是我的按钮单击事件。我想在每次单击按钮时创建组合框。 私有void jButton1ActionPerformed(java.awt.event.ActionEvent evt){ });
我的程序是采取任何类型的文件和打开他们自己。 我已经试过了 我只使用文件获得正确的数据。