2010-03-15 3 views

ответ

4

Вы можете использовать date classes (примечание: DateInterval и DatePeriod доступны только в PHP 5.3), чтобы сделать жизнь проще.

$start = new DateTime('2010-02-12 11:30', new DateTimeZone('UTC')); 
$interval = new DateInterval('PT1M'); // 1 minute interval 
$period = new DatePeriod($start, $interval, 100); // Run 100 times 

foreach ($period as $datetime) { 
    // Output like: 2009, 02, 12, 11, 30 
    echo $datetime->format("Y, m, d, H, i") . PHP_EOL; 
} 

Для менее красиво, но доступны в более ранних версиях PHP, альтернативные затем посмотреть другие предложения рекомендации mktime.

2

Я бы предложил проверить встроенные функции PHP: date и mktime. Используемые вместе вы можете достичь того, чего хотите.

В качестве примера, чтобы увеличить день, взятый непосредственно с веб-сайта.

<?php 
$tomorrow = mktime(0, 0, 0, date("m") , date("d")+1, date("Y")); 
?> 
1
<?PHP 
    for ($i = 0; $i < 1000; $i++) { 
     $startTimeSec = mktime(11, 30 + $i, 0, 2, 12, 2010); 
     echo date("Y, m, d, h, i", $startTimeSec) . "\n" . '<br />'; 
    } 
?> 
1
for($i=1;$i<=10;$i++){ 
$tomorrow = mktime(0,0,0,date("m"),date("d")+$i,date("Y")); 
echo "Tomorrow is ".date("Y m d", $tomorrow);  
} 
1

Простейшее, что приходит на ум с PHP < 5,3

echo '(year, month, day, hour, minute)', PHP_EOL; 
for($i = 0; $i < 1000; $i++) { 
    echo date('Y, m, d, H, i', strtotime("+$i minute")), PHP_EOL; 
} 
Смежные вопросы