[erledigt] Reading mit Datumstext in Wochentag

Begonnen von andi11, 04 April 2023, 19:58:08

Vorheriges Thema - Nächstes Thema

andi11

Hi,
wie kann ich ein Reading mit einem Datum z.b. 04.04.2023 in einen 2stelligen Wochentag konvertieren?
Folgendes liefert den Namen für die aktuelle Uhrzeit. Mit der 2ten Zeile komme ich an den Wert aus dem Reading. Aber wie kann ich das zusammenbringen? Also String in Datum konvertieren und das an stftime weitergeben.

{substr strftime('%A', localtime),0,2}
ReadingsVal("Wetterproplanta","fc0_date","1.1.2020")

Gerne aber auch einen ganz anderen Lösungansatz  O:-)

betateilchen

Zitat von: andi11 am 04 April 2023, 19:58:08Gerne aber auch einen ganz anderen Lösungansatz

na dann...

sub test{
use Date::Pcalc qw(Day_of_Week);
return ("","Mo","Di","Mi","Do","Fr","Sa","So")[Day_of_Week(2023,4,4)];
}

*duck-und-weg*
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

andi11

dein Hinweis hat mich dazu gebracht nochmal zu recherchieren.
Mein Ergebnis
sub WeekdayName($) {
my ($daystring) = @_;
    my ($d,$m,$y) = split(/\./,$daystring);
    $m-=1;
    return substr strftime("%A",localtime(timelocal('0','0','0',$d,$m,$y))),0,2;
}

Basis ist https://wiki.fhem.de/wiki/Zeitangaben,_rechnen_mit