NEWS
Timestamp - Welches Format für DP?
-
@warhammer73 sagte: Warnung in der setState Zeile.
new Date()
erzeugt ein Objekt - keinen String. -
@paul53 sagte in Timestamp - Welches Format für DP?:
@warhammer73 sagte: Warnung in der setState Zeile.
new Date()
erzeugt ein Objekt - keinen String. Ich weiß nicht, ob man ein Date-Objekt in einen Datenpunkt schreiben kann.Na dann schreibt man ggf. mit new Date().getTime() . geht das nicht?
-
@mickym sagte: new Date().getTime() . geht das nicht?
Ja, das ist dann aber eine große Zahl (ms).
-
@paul53 Aber die Timestamps sind doch in ms abgespeichert?
-
@mickym sagte: Timestamps sind doch in ms abgespeichert?
Ja, die Timestamps der Datenpunkte.
-
@warhammer73 sagte: in den DP wird aber 16:06 geschrieben.
In den Datenpunkt wird die UTC-Zeit geschrieben. Erzeuge einen String mit der lokalen Zeit mittels
new Date().toLocaleString()
Ergebnis: "5.2.2023, 17:28:50"
-
@paul53 Danke!
... gibts auch noch einen Weg das mir die Protokollausgabe gleich verrät was ihr nicht gefällt?
-
@warhammer73 sagte: Protokollausgabe gleich verrät was ihr nicht gefällt?
Im Tab "Protokolle" steht, wenn der Datenpunkttyp nicht zum Typ des geschriebenen Wertes passt.
-
@warhammer73 Laut Doku sollte
role: date
entwederdate (common.type = string - parsable by "new Date(ddd)" string
oder
date (common.type = number - epoch seconds * 1000
sein. Also z.B. geht auch
createState(`${folderName}.${room}.Lastchange`, Date.now(), { name: 'Last change', type: 'number', role: 'date' });
Gespeichert wird dann ein Timestamp, aber dank der Rolle zeigt z.B. der Admin-Adapter das in einem lesbaren Format an. Das ist meine bevorzugte Variante, weil man damit am besten weiter arbeiten kann (falls nötig).
-
@paul53 sagte in Timestamp - Welches Format für DP?:
In den Datenpunkt wird die UTC-Zeit geschrieben. Erzeuge einen String mit der lokalen Zeit mittels
new Date().toLocaleString()Dann aber bitte nicht
role: date
setze, weil dann versucht z.B. der Admin das zu parsen / gibt den Inhalt annew Date()
. Und bei einem Deutschen Datumsformat geht das oft schief. Sonst lieber als UTC-String oder halt als Timestamp (s.o.).