ESP8266 - Micropython - Zeitdiskrepanz

Hallo Leute,

Ich habe hier einen ESP8266 mit Micropython am laufen, welcher zyklisch Daten in eine Datenbank schreibt. Seit dem 25.September haben diese Daten einen Offset von 1h, den ich mir

Ich habe heute um 21:36Uhr folgendes eingeben und die entsprechenden Antworten erhalten:

>> ntptime.settime()

(2018, 10, 16, 19, 36, 52, 1, 289)

>> utime.localtime()

(2018, 10, 16, 19, 36, 54, 1, 289)

>> utime.time()

593033820

Da utime als Begin das Jahr 2000 hat, ich in der Datenbank auf meinem Webserver aber mit einer normalen UNIX-Zeit rechne, addiere ich auf den Zeitstempel im PHP-Script, welches die Daten entgegennimmt einfach 30 Jahre:

$str = strtotime(date( 'Y-m-d H:i:s', $TickTime ) . " +30 year");

Das hat bis zum 24. September funktioniert, seit dem 25. September habe ich jetzt ne Stunde Offset.

Was mache ich falsch?

Michael

Reply to
Michael S.
Loading thread data ...

Michael S. schrieb:

Antwort ist: In der Nacht vom 24. auf den 25. September 1988(!) wurde in Deutschland die Uhr von Sommer- auf Winterzeit umgestellt. Mit date( 'Y-m-d H:i:s', $TickTime ) bekommst Du ja ein Datum in 1988

Christian

--
Christian Zietz  -  CHZ-Soft  -  czietz (at) gmx.net 
WWW: http://www.chzsoft.de/ 
PGP/GnuPG-Key-ID: 0x52CB97F66DA025CA / 0x6DA025CA
Reply to
Christian Zietz

Am 16.10.2018 um 22:02 schrieb Christian Zietz:

Super, das hilft mir weiter. Mich hat irritiert, dass wenn ich den Zeitstempel in einen Online-Zeitstempelumrechner kopiert habe, ich auch schon 1988 um 1h danebenlag. Bei dem hier:

formatting link

Der scheint aber eben gerade nicht UTC auszugeben.

Michael

Reply to
Michael S.

Michael S. schrieb:

der Unix-Epoche und dem Beginn der utime-Epoche liegen. Je nachdem, ob

komplizierter sein, aber diese Berechnung musst Du nur einmalig

$TickTime, bevor Du es 'date' oder anderen Funktionen vorsetzt, die Zeitzonen und Sommerzeit beachten.

Christian

--
Christian Zietz  -  CHZ-Soft  -  czietz (at) gmx.net 
WWW: http://www.chzsoft.de/ 
PGP/GnuPG-Key-ID: 0x52CB97F66DA025CA / 0x6DA025CA
Reply to
Christian Zietz

Am 16.10.2018 um 22:20 schrieb Christian Zietz:

Genau so habe ich es jetzt gemacht: $SQLTickTimeStr = strtotime(date( 'Y-m-d H:i:s', $TickTime+946684800 ));

Michael

Reply to
Michael S.

Das war bis vor kurzem das Ende der Sommerzeit.

--




/ \  Mail | -- No unannounced, large, binary attachments, please! --
Reply to
Axel Berger

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.