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:-)
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*
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)