Web lists-archives.com

[PHP] What's with 2016-11-06




This is a stripped-down version of a calendar program.  Can anyone explain why November 6 2016 appears twice? Or 2015-11-01?

I'm assuming the fault lies with

        $calday = $calday + (60 * 60 * 24);

...but I'd like to know why some days apparently have less than 86400 seconds and how (efficiently) to work around that.

Here is my code:

        $calday = strtotime('2016-10-30');
        $finish = strtotime('2016-12-01');

        while ( $calday < $finish ) {
                for ($dow = 0; $dow < 7; $dow++) {

                        // set the year, month, and day
                        $year = (int) date('Y', $calday);
                        $month = (int) date('n', $calday);
                        $day = (int) date('j', $calday);

                        echo "Year: $year, Month: $month, Day: $day, Day of Week: $dow <br />\n";

                        // move on to the next day
                        $calday = $calday + (60 * 60 * 24);
                }
                echo "* * *<br />\n";
        }

Thanks in advance for any help.

--
Clifford R. Nieuwenhuis
IT Manager
Architectural Design Consultants, Inc.
c.nieuwenhuis@xxxxxxxxxxxxxx
608-254-6181


--

Clifford R. Nieuwenhuis
IT Manager
Architectural Design Consultants, Inc.
c.nieuwenhuis@xxxxxxxxxxxxxx
608-254-6181

Visit our redesigned website:
www.adcidesign.com

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