note 44062 deleted from function.mktime by tomsommer
| From: | tomsommer@php.net | Date: | Wed, 14 Jul 2004 07:24:21 +0000 |
| Subject: | note 44062 deleted from function.mktime by tomsommer | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-73199@lists.php.net to get a copy of this message | ||
Note Submitter: Chirag Shukla
----
This may not be the best, but is one way to find out whether the given date falls in Daylight
Savings Time or not. mktime is again used in combination with date() function.
<?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;
}
}
}
?>