Für die Adventsbeleuchtung...

Begonnen von betateilchen, 01 November 2015, 21:10:38

Vorheriges Thema - Nächstes Thema

betateilchen

Manchmal möchte man wissen, wann der erste Advent ist, um z.B. eine Adventsbeleuchtung zu steuern, folgender Codeschnipsel liefert das entsprechende Datum.
Die Funktion kann optional mit einer Jahreszahl aufgerufen werden. Wenn keine Jahreszahl angegeben wird, wird das aktuelle Jahr verwendet.



use HTTP::Date;

sub ersterAdvent {
  my ($jahr) = shift;
  $jahr //= (localtime(time))[5]+1900;
  my $time = str2time("$jahr-12-25");
  my $wday = (localtime($time))[6];
  $wday = $wday ? $wday : 7;
  $time -= ($wday+21)*86400;
  return localtime($time);
}



Das angegebene perl Paket HTTP::Date sollte in jeder fhem Installation bereits vorhanden sein.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!