This function can be used to know whether it is Daylight Savings time or not for the given date. It may not be the most optimized program, but may be helpful.


If there is a modified code, please let me know.

Thank you.

Sincerely,
Chirag Shukla.


<?php

        // here is the date. We wont worry about the time.
        $processdate = "07/04/2004 14:45";

        // calling the function.
        // 1 means the date is in a daylight savings time
        // 0 means the date is not in a daylight savings time
        echo daylight($processdate);

        // now the function

function daylight($mydate)
{
        // separating the date and time
        $datetime = explode(" ",$mydate);

        // exploding the components of date
        $dateexplode = explode("/",$datetime[0]);

        // if the date is between Jan-Mar, NO DAYLIGHT
        // if the date is between Nov-Dec, NO DAYLIGHT
        if ($dateexplode[0]<4 or $dateexplode[0]>10)
        {
                return 0;
        }
        // if the date is not in the above zone, lets see
        // if the date is between May-Sep, DAYLIGHT
        elseif ($dateexplode[0]>4 and $dateexplode[0]<10)
        {
                return 1;
        }
        else
        {
                // we are going to pull out what date is a sunday
                // then we compare our date's day-of-month with the day-that-is-sunday
                
                $interestday = 0;
                
                // lets see what happens in april - first sunday of the month
                if ($dateexplode[0]==4)
                {
                        // looping the first seven days to see what day is a sunday
                        for ($i=1; $i<=7; $i++)
                        {
                                $myday = 
date("w",mktime(0,0,0,$dateexplode[0],$i,$dateexplode[2]));
                                if ($myday==0)
                                        $interestday = $i;
                        }
                        
                        // now that we got what day is a sunday, lets see
                        // if our date's day-of-month is greater than this or not
                        // if it is greater, then DAYLIGHT
                        if ($dateexplode[1]>=$interestday)
                                return 1;
                        else
                                return 0;
                }

                // lets see what happens in october - last sunday of the month
                elseif ($dateexplode[0]==10)
                {
                        // looping the first seven days to see what day is a sunday
                        for ($i=25; $i<=31; $i++)
                        {
                                $myday = 
date("w",mktime(0,0,0,$dateexplode[0],$i,$dateexplode[2]));
                                if ($myday==0)
                                        $interestday = $i;
                        }
                        
                        // now that we got what day is a sunday, lets see
                        // if our date's day-of-month is greater than this or not
                        // if it is less, then DAYLIGHT
                        if ($dateexplode[1]<=$interestday)
                                return 1;
                        else
                                return 0;
                }
        }
}

?>

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



Reply via email to