Задать вопрос
@XenK

Прибавить секунду к дате?

Есть начальная дата, например 24-05-16. Необходимо вывести циклом полное кол-во времени в течение нескольких дней, с секундами. То есть, чтобы получилось так:
24-05-16 | 00:00:01
24-05-16 | 00:00:02
24-05-16 | 00:00:03
...
24-05-16 | 16:12:59
...
25-05-16 | 00:00:01
...

Каким способом лучше сделать?
  • Вопрос задан
  • 892 просмотра
Подписаться 1 Оценить 1 комментарий
Решение пользователя Котик Антон К ответам на вопрос (3)
27cm
@27cm
TODO: Написать статус
<?php

$interval = new DateInterval('PT1S'); 
$start = new Datetime('2016-05-24 00:00:01');
 
$period = new DatePeriod($start, $interval, 3 * 24 * 60 * 60);
foreach ($period as $date) { 
    echo $date->format('d-m-y | H:i:s') . PHP_EOL; 
}


Если хотите пошустрее, забив на то, что в сутках не всегда 24 часа, то можно вот так:
<?php

$interval = new DateInterval('P1D'); 
$start = new Datetime('2016-05-24');
 
$period = new DatePeriod($start, $interval, 3);
foreach ($period as $date) {
    $day = $date->format('d-m-y');
    for ($H = 0; $H < 24; $H++) {
        for ($i = 0; $i < 60; $i++) {
            for ($s = 0; $s < 60; $s++) {
                echo sprintf('%s | %02d:%02d:%02d', $day, $H, $i, $s) . PHP_EOL; 
            }
        }
    }
}


php.net/manual/ru/dateperiod.construct.php
Заблуждения программистов относительно времени
Ответ написан