note 51947 deleted from function.time by aidan
| From: | aidan@php.net | Date: | Sat, 08 Oct 2005 01:03:31 +0000 |
| Subject: | note 51947 deleted from function.time by aidan | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-96607@lists.php.net to get a copy of this message | ||
Note Submitter: phil at goli dot at
----
This function returns the correct DST time for EU countries. Change $TZOffset for your timezone. Use
myDST() instead of time().
Other examples of usage:
getdate(myDST());
date('H:i:s', myDST());
getdate(myDST());
function myDST()
{
$TZOffset = 1;
// MEZ = UTC + TZOffset:
$myMEZ = mktime(gmdate("H") + $TZOffset);
$myMEZ_year = date("Y", $myMEZ);
$tmp = strtotime("last Sunday", mktime(0, 0, 0, 4, 1, $myMEZ_year));
$myLastSundayMarch = mktime(2, 0, 0, date("m", $tmp), date("d", $tmp),
date("Y", $tmp));
$tmp = strtotime("last Sunday", mktime(0, 0, 0, 11, 1, $myMEZ_year));
$myLastSundayOctober = mktime(3, 0, 0, date("m", $tmp), date("d", $tmp),
date("Y", $tmp));
if ( ($myMEZ >= $myLastSundayMarch) && ($myMEZ < $myLastSundayOctober) )
{
return mktime(gmdate("H") + $TZOffset + 1); // summertime
}
else
{
return mktime(gmdate("H") + $TZOffset); // normal time ("wintertime")
}
}