« Adobe übernimmt Macromedia | Weblog | Scrollen mit PowerBooks »
19.04.05
Sommerzeit mit Actionscript
Beim Suchen nach einer Funktion, die für beliebige Jahre Start- und Enddatum der Sommerzeit zurückgibt stieß ich auf die Implementierung von Eric Dolecki, die allerdings recht unhandlich ist.
Schließlich habe ich eine eigene ultrakurze Funktion geschrieben – sie gilt in dieser Form für die amerikanischen Daten (vom ersten Sonntag im April bis zum letzten Sonntag im Oktober), läßt sich aber leicht adaptieren.
function lastSunday(cDate:Date) {
//ab Datum cDate den letzten Sonntag suchen
while (cDate.getDay()!=0) cDate.setDate(cDate.getDate()-1);
return cDate;
}
function startDST(year:Number) { return lastSunday(new Date(year,3,7)); }
function endDST(year:Number) { return lastSunday(new Date(year,9,31)); }
function daylightSavingInEffect(d:Date) {
//ufruf ohne Parameter: aktuelles Datum benutzen
if (d == undefined) d = new Date();
var sDST = startDST(d.getFullYear());
var eDST = endDST(d.getFullYear());
//prüfen, ob Datum zwischen Start und Ende der Sommerzeit liegt
return (d >= sDST && d > eDST);
}