FHEM Forum

FHEM => Codeschnipsel => Thema gestartet von: bjoernbo am 05 September 2022, 20:18:23

Titel: Aktuellen Tag als Zahl ausgeben
Beitrag von: bjoernbo am 05 September 2022, 20:18:23
Ich verzweifle....

Ich möchte gerne, dass vom aktuellem Tagesdatum (05.09.2022) der Tag (05) => (5) in eine variable o.ä. geschrieben wird,
damit ich

$expected_Monatsverbrauch = ($current_Monatsverbrauch / 5) *30;

die 5 durch den aktuellen Tag ersetzen kann.

Ich habe schon mit strftime alles ausprobiert, aber ich komme leider nicht zu meinem Ziel.


+*01:00:00 {
## my $current_Tag=strftime('%e %B', localtime);
my $current_Monatsverbrauch = (ReadingsVal("StromkostenMonat","Verbrauch",0));
my $expected_Monatsverbrauch = ($current_Monatsverbrauch / 5) *30;
fhem ("set erw_Monatsverbrauch $expected_Monatsverbrauch");
}


Danke,
Titel: Antw:Aktuellen Tag als Zahl ausgeben
Beitrag von: erwin am 05 September 2022, 20:31:32
Hi,
nicht verzweifeln, evtl so:
my $daynr = (localtime())[3];
l.g. erwin
Titel: Antw:Aktuellen Tag als Zahl ausgeben
Beitrag von: Otto123 am 05 September 2022, 20:33:24
Hi,

falsches Board  ;)
Zitat*** Keine Fragethemen starten! Board ist nur für funktionsfähigen Code! ***
{my $current_Tag= strftime("%e",localtime)}
https://www.tutorialspoint.com/posix-function-strftime-in-perl

Gruß Otto
Titel: Antw:Aktuellen Tag als Zahl ausgeben
Beitrag von: MadMax-FHEM am 05 September 2022, 20:36:01
Wenn du nur den Tag willst, warum dann %B?

Also das liefert bei mir den Tag:


{my $datestring = strftime "%e", localtime;; return $datestring}


Kannst du testen, indem du es einfach genau so in FhemWeb-cmd eingibst.

D.h. bei dir dann:


my $current_Tag=strftime("%e", localtime);

Und dann dort wo du die 5 hast einfach $current

Außerdem: falscher Forenbereich!! Hierher gehören Code-Schnipsel die tun ;)

EDIT: und erneut zu lahm 8)

Gruß, Joachim
Titel: Antw:Aktuellen Tag als Zahl ausgeben
Beitrag von: rudolfkoenig am 05 September 2022, 20:40:31
Oder auch $mday. Siehe https://fhem.de/commandref_modular.html#perl
Titel: Antw:Aktuellen Tag als Zahl ausgeben
Beitrag von: bjoernbo am 05 September 2022, 21:02:41
Danke für die schnelle Unterstützung !!

+*01:00:00 {
my $current_Tag= strftime("%e",localtime);
my $current_Monatsverbrauch = (ReadingsVal("StromkostenMonat","Verbrauch",0));
my $expected_Monatsverbrauch = ($current_Monatsverbrauch / $current_Tag) *30;
fhem ("set erw_Monatsverbrauch $expected_Monatsverbrauch");
}