【问题标题】:PHP for loop to print dates of Month in CodigniterPHP for 循环在 Codeigniter 中打印月份的日期
【发布时间】:2020-09-02 14:11:22
【问题描述】:

我在 codeigniter 项目中有一个视图,可以打印一些详细信息,包括一个月的日期。日期范围从表中数据的最小日期到最大日期摘要,例如“2020-01-01”到“2020-08-31”。如果表中的最新日期是“2020-10-30”,那将是最大日期。假设需要将 8 月份的日期打印为“2020-08-01”到“2020-08-31”并包含在视图中。我使用了以下代码

    <?php
        if(!empty($printFuelUse)){
                foreach ($printFuelUse as $rows){               

        $begin = new DateTime($rows->mindate);
        $end = new DateTime($rows->maxdate);              

        $interval = DateInterval::createFromDateString('1 day');
        $period = new DatePeriod($begin, $interval, $end);
               }
        }
        foreach ($period as $dt) {
        echo $dt->format("l Y-m-d H:i:s\n");
        }
    
    ?> 

$printFuelUse 包含来自模型的数组值。它在表中正确地超出了 mindate 和 maxdate

我想得到如下输出:

+------------+
|    Date    |
+------------+
| 2020-08-01 |
| 2020-08-02 |
| 2020-08-03 |
| 2020-08-04 |
| 2020-08-05 |
| 2020-08-06 |
| …………       |
| ………….      |
| 2020-08-30 |
| 2020-08-31 |
+------------+

但没有得到预期的输出。任何人都可以帮忙吗?请。只考虑输出的第一列

【问题讨论】:

  • 这能回答你的问题吗? Get all days and date for a given month
  • @MCIT Trends 但现在你得到了什么输出?
  • @KUMAR。现在打印为 'Saturday 2020-08-01 00:00:00' ............等等
  • 对应于"l Y-m-d H:i:s\n"。如果您想要不同的格式,请设置不同的格式字符串。

标签: mysql codeigniter


【解决方案1】:

我看不出日期期间有何帮助:

$begin = new DateTime('2020-08-01');
$end = new DateTime('2020-08-31');
for ($dt = clone $begin; $dt <= $end; $dt->modify('+1 day')) {
    echo $dt->format("Y-m-d\n");
}

【讨论】:

  • @Álvaro González。那就是编辑。请在我的编辑中查看
  • 抱歉,您的问题正在发生变化,因此很难给出明确的答案。 '2020-08-01' 可以是字符串文字或来自变量——没有任何区别。如果您认为是,请提供实际值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-02
  • 1970-01-01
  • 1970-01-01
  • 2017-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多