php - 自定义日期范围
问题描述
我有一个看起来像这样的日期数组,它是一个日期列表。
Array
(
[0] => 2021-07-05
[1] => 2021-07-06
[2] => 2021-07-07
[3] => 2021-07-08
[4] => 2021-07-09
[5] => 2021-07-10
[6] => 2021-07-11
[7] => 2021-07-12
[8] => 2021-07-13
[9] => 2021-07-14
[10] => 2021-07-15
[11] => 2021-07-16
[12] => 2021-07-17
[13] => 2021-07-18
[14] => 2021-07-19
[15] => 2021-07-20
[16] => 2021-07-21
[17] => 2021-07-22
)
我怎样才能得到以下日期范围?每 6 个日期,因为我需要以特定方式循环。
Array
(
[0] => Array
(
[from] => 2021-07-05
[to] => 2021-07-11
)
[1] => Array
(
[from] => 2021-07-11
[to] => 2021-07-17
)
[2] => Array
(
[from] => 2021-07-17
[to] => 2021-07-22
)
)
解决方案
你可以试试这个例子。
$from = $dates[0];
$to = $from;
$result = [];
foreach($dates as $date) {
if (strtotime($from) + 60 * 60 * 24 * 6 < strtotime($date)) {
$result[] = ['from' => $from, 'to' => $to];
$from = $to;
}
$to = $date;
}
$result[] = ['from' => $from, 'to' => $to];
print_r($result);
推荐阅读
- javascript - 模板内的输入未转换为 Kendo 小部件
- video-streaming - 如何创建直播应用程序?
- node.js - 如何检查缓存的预签名 URL accessKeyId(签名者,而不是签名)的过期时间?
- python - 比较同一列表字典中的列表
- javascript - Mongoose:如何向 .select() 添加过滤器
- html - 类溢出有什么作用
- css - Flex缩进虚假填充,在某些情况下文本不居中
- node.js - 有没有办法定义使用 passport.authenticate 时要使用的集合
- java - 具有模式 < IS( > 或 < IF( > 的 Servlet 请求被阻塞 apache/adobe 体验管理器
- c# - 遍历一个类的列表