DeutschEnglish

Untermenü

 - - - By CrazyStat - - -
Letzte Änderung:
24.10.2018 - 21:15:04

Sommerzeit berechnen

Folgende Snippets berechnen Beginn und Ende der Sommerzeit des gegebenen Jahres (als Timestamp):


<?php
function dst_start($year) {
 return 
mktime(2,0,0,3,31-date('w'mktime(2,0,0,3,31,$year)),$year);
}

function 
dst_end($year) {
 return 
mktime(2,0,0,10,31-date('w'mktime(2,0,0,10,31,$year)),$year);
}
?>

Der Timestamp lässt sich per date() leicht in menschenlesbares Format wandeln:


<?php

/* Anwendungs-Beispiel 1 */

$year=2000;
$start_str=date('d.m.',dst_start($year));
$end_str=date('d.m.',dst_end($year));

echo 
"Im Jahr $year begann die Sommerzeit am $start_str und endete am $end_str.<br />";

/* Anwendungs-Beispiel 2 */

echo "Dieses Jahr beginnt die Sommerzeit am ".date('d.m.',dst_start(date('Y')));

/* Anwendungs-Beispiel 3 */

if(date('I')==0) {
 
// gerade keine Sommerzeit
 
echo "Die Uhr wird am ".date('d.m.',dst_start(date('Y')))." auf Sommerzeit umgestellt.<br />";
} else {
 
// gerade Sommerzeit
 
echo "Die Uhr wird am ".date('d.m.',dst_end(date('Y')))." wieder auf Winterzeit umgestellt.<br />";
}

?>

Achtung: Die obigen Funktionen verwenden die Sommerzeitregelung gemäß Richtlinie 2000/84/EG des Europäischen Parlamentes. In Deutschland wird seit 1996 nach dieser Richtlinie die Zeit umgestellt. Vorher und für andere Länder müssen die obigen Funktionen evtl. angepasst werden.

Es handelt sich bei den Funktionen um "Portierungen" von Excel-Formeln von excelformeln.de. Vielen Dank.