On 5/23/06, Dave Goodchild <[EMAIL PROTECTED]> wrote:
Hi all, I am writing an app that runs a prize draw, wherein the admin
chooses the duration by adding a start date and number of days for the draw
to run. These values are passed into a small function that generates an
array holding the start date, end date and all dates in between as follows:

function generateDates($first, $duration) {

    $dates = array();
    $date = getdate(mktime($first));
    $month = $date['mon'];$day = $date['mday'];$year = $date['year'];

    for ($i = 1;$i <= $duration; $i++) {

        $added = getdate(mktime($day++ . "-" . $month . "-" . $year));
        $dates[] = $added['mday'] . "-" . $added['mon'] . "-" .
$added['year'];

    }
    return $dates;
}


$series = generateDates('23-05-2006', 20);
var_dump($series);

...when I var_dump the array the iteration stops at May 24 - I am looking
into it but does anyone have any ideas why this is sticking ie is my date
arithmetic wrong? Cheers.

Your mktime() usage is off. I think you're confusing it with
strtotime(). Please see the function arguments in the docs:

php.net/mktime
php.net/strtotime

Also, inside the loop, instead of using getdate and then
concatenating to form the date string, consider using
the date() function to do it.

php.net/date

Rabin

--
http://rab.in

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to