Tarih dizeleri artan üret

3 Cevap

Ben tarihleri, böyle bir şey artan bir dize oluşturmak gerekiyor:

(year, month, day, hour, minute)
2010, 2, 12, 11, 30
2010, 2, 12, 11, 31
etc

Ne Bunu yapmanın en iyi yolu olurdu? Böyle kadar 1000 hatları oluşturmak isteyebilirsiniz

3 Cevap

Hayatı kolaylaştırmak için: Eğer date classes (DateInterval ve DatePeriod PHP 5.3 olarak yalnızca kullanılabilir unutmayın) kullanabilirsiniz.

$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;
}

Bir daha güzel, ama PHP'nin eski sürümlerinde kullanılabilir için, alternatif sonra tavsiye diğer önerilerini görmek mktime.

I would suggest checking out PHP's built-in functions: date and mktime. Used together you can achieve what you want.

Doğrudan web alınan gün artırmak için bir örnek olarak.

<?php
$tomorrow  = mktime(0, 0, 0, date("m")  , date("d")+1, date("Y"));
?>

Basit ki PHP

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;
}