php - PHP DateTime 输出范围内的日期数组
问题描述
我是这样计算6个月内的日期的...
$date = new DateTime('01/02/2019');
$date->add(new DateInterval('P6M'));
echo $date->format('d/m/Y') . "\n";
据我所知,这是有效的,有人知道在这个新时期输出一组日期的方法吗?
DateTime 有内置的东西吗?
解决方案
您需要遍历所有日期,因为没有本机函数可以执行此操作。
您可以创建一个循环,将每个日期附加到一个数组中,并增加日期直到它到达结束日期。
function get_interval($startDate, $endDate) {
$result = [];
while ($startDate < $endDate) {
$currentDate = (clone $startDate);
$result[] = $currentDate;
$startDate->modify("+1 day");
}
return $result;
}
$date = new DateTime('01/02/2019');
$enddate = (clone $date)->add(new DateInterval('P6M')); // Note that the object is cloned
// Otherwise we modify the original $date
print_r(get_interval($date, $enddate));
- 在https://3v4l.org/aLf5o进行现场演示
推荐阅读
- vba - 检查Sharepoint中是否存在文件并保存
- azure - 从 Azure Databricks 写入 Azure Blob 存储时出现重复的 Blob 创建事件
- gatsby - 我想使用 gatsbyjs 在 mdx 文件中使用图像,但它显示 2 个图像而不是一个
- vba - 从 Outlook 昵称中提取 SMTP 地址
- javascript - 主选项卡需要仅使用 html、css 和 javascript 嵌套的子选项卡
- python - 没有文本附加到文本文件
- r - R tidyverse删除在动态列数中具有相同值的行
- php - Xmlrpc api 请求
- python - How to combine vectors generated by PV-DM and PV-DBOW methods of doc2vec?
- java - 我需要发布到 Play 商店才能投射到 chromecast 吗?