FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: andi11 am 04 April 2023, 19:58:08

Titel: [erledigt] Reading mit Datumstext in Wochentag
Beitrag von: andi11 am 04 April 2023, 19:58:08
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:-)
Titel: Aw: Reading mit Datumstext in Wochentag
Beitrag von: betateilchen am 04 April 2023, 21:08:15
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*
Titel: Aw: Reading mit Datumstext in Wochentag
Beitrag von: andi11 am 04 April 2023, 22:19:18
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 (https://wiki.fhem.de/wiki/Zeitangaben,_rechnen_mit)