Datum erstellen logfile stimmt nicht

Begonnen von TiPpFeHlEr, 31 Mai 2020, 08:42:59

Vorheriges Thema - Nächstes Thema

TiPpFeHlEr

Hi,

bin grade darauf gestoßen, das das erstellen des Datums für meine logfile nicht korrekt ist

angegeben in global habe ich
logfile     /opt/fhem/log/fhem-%Y-%m-%W-%d.log

erstellt wird
currentlogfile     /opt/fhem/log/fhem-2020-05-21-31.log

dies ist aber falsch, weil wir die  KW 22 haben!
in der commandref habe ich das gefunden
%W Wochennummer des Jahres, wobei Wochenbeginn = Montag (00..53)

dies wäre falsch, da wir bei (01) anfangen müssten zu zählen

liege ich da richtig? oder stimmt mein system nicht?

MfG Maik

rudolfkoenig

Es gibt verschiedene Methoden die Kalenderwoche zu berechnen, die von FHEM verwendete Bibliotheksfunktion strftime() bietet mindestens 3 Varianten an:
fhem> { strftime("%U %V %W", localtime()) }
22 22 21

TiPpFeHlEr

Hallo Rudolf,

DANKE

aber warum gibts %W wenn doch falsch ist?

Habe im Forum gefunden das dies am ersten Montag im Jahr liegt, dieser bestimmt die erste Woche 00
Kann das dann nicht weg?

MfG Maik

betateilchen

Zitat von: TiPpFeHlEr am 31 Mai 2020, 09:24:38
aber warum gibts %W wenn doch falsch ist?

%W ist nicht falsch. Es gibt auf der Welt nicht nur Deutschland und in anderen Ländern werden die Kalenderwochen anders gezählt.

Zitat von: TiPpFeHlEr am 31 Mai 2020, 08:42:59
in der commandref habe ich das gefunden

In der commandref steht aber auch:

Zitat<filename> may contain %-wildcards of the POSIX strftime function of the underlying OS (see your strftime manual).

Das bedeutet, Du kannst jedes beliebige wildcard verwenden, das von strftime() verwendet wird.
Wenn Dir also das Ergebnis von %W nicht gefällt, nimm doch einfach %U oder %V.

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