php 日期间隔/日期期间未按预期运行

标签 php date dateinterval

在对 Dateperiod 进行一些研究后,发现默认情况下它排除了结束日期,即使它没有在 PHP 手册中的任何地方明确说明。我也没有注意到包含它的任何选项。似乎唯一的选择是排除开始日期的选项。还有其他人遇到过这个吗?

最佳答案

你忘了时间

  $start_date = '02/28/2012 00:00:00';
  $end_date = '02/29/2012 23:59:59';
  $intrDate = '1D';

  $start = new \DateTime($start_date);
  $end = new \DateTime($end_date);
  $interval = new \DateInterval('P'.$intrDate);
  $period = new \DatePeriod($start, $interval, $end);

  print_r($start_date);
  print_r($end_date);
  print_r($period);

  foreach ($period as $day) {
          $dates[] = array(
              'eventID' => $event_id, 
              'date' => $day->format('Y-m-d'), 
              'max' => $data['numAttending']);
      }

  print_r($dates);
  exit;

这个输出:

Array
(
    [0] => Array
        (
            [eventID] => 
            [date] => 2012-02-28
            [max] => 
        )

    [1] => Array
        (
            [eventID] => 
            [date] => 2012-02-29
            [max] => 
        )

)

没有时间,你会得到:

Array
(
    [0] => Array
        (
            [eventID] => 
            [date] => 2012-02-28
            [max] => 
        )

)

关于php 日期间隔/日期期间未按预期运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9471710/

相关文章:

php - 计算 OOP PHP 中返回的行数

php - 无法通过 PHP 查询 MySQL 数据库

类 DateInterval 的 php 对象无法转换为字符串

swift - Swift 的 DateInterval 中的时区不正确

javascript - 在 HTML 中包含的 Javascript 中使用 PHP 变量

php - mysql 查询帮助插入到多行,其中几个字段相同

java - 日期对象比较 - Java

mysql - DATE_FORMAT() sql 返回 0 行

Python - 时间序列对齐和 "to date"函数

date - 使用星期/月定义时间间隔(ISO 8601?)