Используйте DateInterval()
, и это сделает для вас оба.
$time = '2019-10-10 18:25:00';
$durations = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100];
foreach($durations as $duration) {
$date = new DateTime($time);
$date->add(new DateInterval('PT'.$duration.'S'));
echo $date->format('Y-m-d H:i:s').PHP_EOL;
}
Выходы:
2019-10-10 18:25:10
2019-10-10 18:25:20
2019-10-10 18:25:30
2019-10-10 18:25:40
2019-10-10 18:25:50
2019-10-10 18:26:00
2019-10-10 18:26:10
2019-10-10 18:26:20
2019-10-10 18:26:30
2019-10-10 18:26:40
https://3v4l.org/qd6DQ
Обратите внимание, что формат PeriodDurationDesignator
. P###(D/M/Y/W)
для дня / месяца / года / недели (P10D
для 10-дневного периода). На время добавьте T
: PT###(H/M/S)
или PT10S
на 10 секунд.