Anzeige
Archiv - Navigation
1892to1896
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Unix Timestamp wird falsch umgerechnet

Unix Timestamp wird falsch umgerechnet
25.07.2022 16:04:45
Florian
Hi Leute,
ich will einen Unix Timestamp umrechnen, aber Excel scheint da was bei der Zeitzone falsch zu machen, kann das sein?
Hier ein Screenshot mit der Formel:
Userbild
Normal müsste damit ein Datum 25.03.2022 rauskommen.
Kann jemand helfen? :)
Danke!!

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Unix Timestamp wird falsch umgerechnet
25.07.2022 16:43:18
Nepumuk
Hallo Florian,
mein Taschenrechner liefert dasselbe Ergebnis. Ergo, Excel rechnet richtig.
Gruß
Nepumuk
AW: Unix Timestamp wird falsch umgerechnet
25.07.2022 17:25:28
Florian
Die Zahl ist rechnerisch korrekt, das stimmt. Nur muss das Ergebnis der 25.03.2022 00:00:00 sein.
Da geht eine Stunde Zeitverschiebung verloren? Wie kann ich das denn lösen? Wenn ich einfach eine Stunde drauf rechne, habe ich das Problem ja in anderen Monat wegen Wommer/Winterzeit.
AW: Unix Timestamp wird falsch umgerechnet
25.07.2022 17:26:59
onur
DU bist doch ein "Excel-Profi" - das solltest du als Profi locker hinkriegen.
AW: Unix Timestamp wird falsch umgerechnet
25.07.2022 17:52:43
Daniel
Hi
naja, eine Stunde hinzuaddieren, wenn das Datum kleiner ist als der Umstellungszeitpunkt im Frühjahr oder größer als der Umstellungszeitpunkt im Herbst.
Umgestellt wird nach aktueller Regel am letzten Sonntag im März und am letzten Sonntag im Oktober.
den letzten Sonntag im Oktober findest du mit dieser Formel, dh vom ersten Tag des Folgemonats einfach seine Wochentagsnummer in der Version 2 abziehen (Montag=1 bis Sonntag=7)
Letzter Sonntag im März 2022: =DATUM(2022;4;1)-WOCHENTAG(DATUM(2022;4;1);2)
Gruß Daniel
Anzeige
AW: Unix Timestamp wird falsch umgerechnet
25.07.2022 17:23:12
onur
Soweit ich weiss, ist die Unixzeit immer UTC, also Weltzeit (bzw Greenwich Mean Time – GMT) - die Zeitzone und ggf Sommerzeit musst du schon selbst umrechnen.
AW: Unix Timestamp wird falsch umgerechnet
25.07.2022 17:27:18
Florian
Ja das dachte ich auch mit der Sommer-/Winterzeit. Aber wie kann ich das denn automatisieren, oder muss ich jetzt in jedem Jahr den Beginn von Sommer und Winterzeit erfassen? :D
AW: Unix Timestamp wird falsch umgerechnet
25.07.2022 17:30:29
onur
Schreib ne Formel oder UDF. Sommerzeit fängt immer am letzten Sonntag des März an und hört am letzten Sonntag des Oktober auf, jeweils um 3:00 Uhr.
AW: Unix Timestamp wird falsch umgerechnet
25.07.2022 19:29:24
Daniel
Hi
die Formeln zum Berechnen des Umstellungsdatums (letzter Sonntag im März/Oktober) wurden dir ja gezeigt.
du kannst natürlich auch eine Tabelle mit allen Daten erstellen und dort auslesen.
diese Tabelle gibt schon in der Wikipedia:
https://de.wikipedia.org/wiki/Liste_der_Sommerzeiten
je nachdem wie weit deine Datumswerte zurück gehen, musst du auch noch das Jahr kontrollieren. bis 1995 endete die Sommerzeit im September, seit 1996 im Oktober.
vor 1980 gabs keine Sommerzeit und ich denke mal, bis 1949 wirst du nicht zurückgehen müssen.
Gruß Daniel
Anzeige
AW: Unix Timestamp wird falsch umgerechnet
25.07.2022 17:24:54
Daniel
Hi
die Lösung ist einfach:
der Unix-Zeitstempel gilt für UTC (früher GMT) also die Zeit auf dem Nullmeridian (Greenwich, London)
in Mitteleuropa ist man zu diesem Zeitpunkt schon eine Stunde weiter, und da die Uhrzeit 23.00 ist, ist man dann schon am nächsten Tag
Wenn du also Mitteleuropäische Zeit haben willst, musst du noch eine Stunde hinzuaddieren, für Sommerzeit dann 2
Gruß Daniel
AW: Unix Timestamp wird falsch umgerechnet
25.07.2022 17:25:58
Yal
Nein, es ist richtig.
Die Umstellung zum Sommerzeit erfolgt in Europa am letzten Sonntag im März.
Also am 27.03.2022 02:00 (UTC+01:00) war es 27.03.2022 03:00 (UTC+02:00).
Demenstsprechend ist
1648162800 / 86400 + DATUM(1970;1;1) ergibt 24.03.2022 23:00 nach Winterzeit (UTC+01:00), vollkommen richtig
und nicht 25.03.2022 00:00 (UTC+02:00), was Sommerzeit wäre und zu diesem Zeitpunkt falsch.
Darüber hinaus ignorieren manche Software diese Sommerzeit-Shift und protokollieren den ganzen Jahr im Winterzeit. Es liegt unter anderem, weil manche Programmierungen im Unix-Welt vor 2000 entstanden sind, wo es noch keine gemeinsame europäische MEZ/MESZ. Siehe https://de.wikipedia.org/wiki/Sommerzeit
VG
Yal
Anzeige
AW: Unix Timestamp wird falsch umgerechnet
25.07.2022 17:56:56
Yal
Mit Einbeziehen der Anmekrung von Onur und Daniel: Unix liefert nur UTC+00:00
sollte folgendes als UDF passen (ungetestet):

Public Function UnixTS(ByVal Target As Range)
Dim D As DateTime
D = Target.Range("A1").Value / 86400 + DateSerial(1970, 1, 1)
UnixTS = D + CInt(D = (LetzteSonntag(Year(D), 10) + TimeSerial(3, 0, 0)))
End Function
Function LetzteSonntag(Jahr As Integer, Monat As Integer) As Date
'Credit: Phelan XLPH in http://www.office-loesung.de/ftopic332241_0_0_asc.php
Dim t As Integer
Dim Datum As Date
Datum = DateSerial(Jahr, Monat + 1, 0)
t = Weekday(Datum, vbMonday)
If t > 1 Then Datum = Datum - t
LetzteSonntag = Datum
End Function
(aber sowas von ungetestet ;-)
VG
Yal
Anzeige
Ääh!
25.07.2022 18:00:18
Yal
da fehlt den +2 Std und den Timeserial:
UnixTS = D + TimeSerial(2 +CInt(D = (LetzteSonntag(Year(D), 10) + TimeSerial(3, 0, 0))), 0, 0)
AW: Unix Timestamp wird falsch umgerechnet
26.07.2022 08:46:21
Sigi.21
Hallo Florian,
noch ergänzend ein Hinweis:
Die Unix-Zeit setzt auf Basis der UTC (koordinierte Weltzeit) ab dem 01.01.1970 auf. D.h. da gibt es keine Sommerzeit!
Also rechnest du so um: Unix zu UTC, UTC zu MEZ/MESZ
Gruß Sigi
AW: Unix Timestamp wird falsch umgerechnet
26.07.2022 11:19:52
Florian
Ok, danke.
Aber die Sommerzeit muss ich ja trotzdem berechnen oder nicht? Weil wenn ich ein Datum aus Mai habe (=Sommerzeit) dann fehlt mir wieder diese Stunde im Datum. Selbst, wenn ich die Umrechnung auf MEZ, also 1 Stunde dazu, vornehme.
Userbild
Anzeige
AW: Unix Timestamp wird falsch umgerechnet
26.07.2022 14:26:41
Sigi.21
Hallo Florian,
mit "UTC zu MEZ/MESZ" wollte ich dies ja auch andeuten, dass du, das umgerechnete Datum je nach dem in die Sommerzeit (MESZ) oder Normalzeit (MEZ) umrechnen musst. (In UTC gibt es keine Sommerzeit.) Und damit ist ja deine ursprüngliche Erwartung (25.03.2022, 0:00 Uhr) richtig.
Allgemein gilt: Unix zu UTC / UTC in die gewünschte Zeitzone
Gruß Sigi
AW: Unix Timestamp wird falsch umgerechnet
26.07.2022 18:19:04
Florian
OK, also dann muss ich doch in der Winterzeit 1 Stunden und in der Sommerzeit 2 Stunden dazurechnen. Danke Dir!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige