symfony - 迭代并打印 Twig 中范围内的所有日期

标签 symfony twig

我正在尝试迭代 twig 中的所有日期

我尝试过使用这个:

{% for x in range(startDate|date('U'), endDate|date('U'), 86400 ) %}
  {{ x|date('m/d') }}
{% endfor %} 

它在某些日期有效。 但如果我的开始日期是 10/01/2015 并且结束日期是 10/31/2015 10/25 显示两次。

该场景可以在任何一年的 10 月的第四个星期天复制

我不知道是否只有我可以复制这个。

还有其他方法可以迭代 twig 范围内的所有日期吗?

最佳答案

\DatePeriod 类就是为了这个目的而创建的,它从 php5.3 开始就可用。

$start = DateTime::createFromFormat("Y-m-d", "2015-10-01");
$end = DateTime::createFromFormat("Y-m-d", "2015-11-01");
$interval = new DateInterval("P1D");

$range = new DatePeriod($start, $interval, $end);

foreach ($range as $date) {
    var_dump($date->format("Y-m-d"));
}

您可以尝试:https://3v4l.org/vFsb6

关于symfony - 迭代并打印 Twig 中范围内的所有日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33141100/

相关文章:

php - 使用 Symfony Autowiring 扩展类的正确方法

php - 如何从 Symfony 的 View 中下载文件

symfony - 如何从我的 Twig 扩展中获取我设置的 Twig 变量?

forms - 原型(prototype)字段在表单(表单)之后为空,但在表单(表单)之前设置时设置 symfony

symfony - Symfony2-> Twig ->表单->字段->设置渲染= true

javascript - 阵列随机洗牌,同时在 Twig 中有约 500 行

php - 在不运行控制台命令的情况下清理缓存的最佳方法是什么?

mysql - Docker 中的 Symfony 3 - 奇怪的连接拒绝错误

php - Twig 不更新 symfony 中的更改

api - 使用 API(symfony)验证桌面应用程序( Electron )