UNIX-Time in "normales" Zeit- und Datumsformat umwandeln

Hallo,

ich bin auf der Suche nach einer Umwandlungsmöglichkeit von UNIX-Time in ein "normales" Zeit- und Datumsformat.

Nach einer Recherche bin ich auf die Bibliothek "UnixTime.h" gestoßen, wo folgendes Beispielprogram (leicht von mir modifiziert) angeführt wird:

#include <UnixTime.h>

UnixTime stamp(3);

void setup() {
  Serial.begin(9600);

  stamp.getDateTime(1699128000000);

  Serial.print(stamp.year);
  Serial.print("-");
  if(stamp.month<10) Serial.print("0");
  Serial.print(stamp.month);
  Serial.print("-");
  if(stamp.day<10) Serial.print("0");
  Serial.print(stamp.day);
  Serial.println();
  if(stamp.hour<10) Serial.print("0");
  Serial.print(stamp.hour);
  Serial.print(":");
  if(stamp.minute<10) Serial.print("0");
  Serial.print(stamp.minute);
  Serial.print(":");
  if(stamp.second<10) Serial.print("0");
  Serial.print(stamp.second);
  Serial.println();
  
}

void loop() {
  

}

Die Unix-Time:
1699128000000
sollte eigentlich folgendes Zeit sein:
GMT: Saturday, 4. November 2023 20:00:00

Wenn ich das Programm laufen lasse, gibt es mir aber folgende Zeit aus: 2052-11-22 22:54:40

Was ja ein kleines Bisschen daneben liegt. Hat jemand eine Idee, was hier falsch läuft?

Vielen Dank im Voraus.

Versuch es mal mit drei Nullen weniger:
stamp.getDateTime(1699128000);

Mit der richtigen Zeitzone Berlin anstelle Moskau und 1699124400 für Winterzeit paßt es dann.

benutzt Du noch (eine) weitere Lib für Datum/Zeiten?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.