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:

Normal müsste damit ein Datum 25.03.2022 rauskommen.
Kann jemand helfen? :)
Danke!!
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 ;-)Um Unix Timestamps in Excel korrekt umzurechnen, befolge diese Schritte:
Unix Timestamp in Excel einfügen: Gib den Unix Zeitstempel in eine Zelle ein (z.B. A1).
Umrechnung in Datum: Verwende die folgende Formel, um den Unix Timestamp in ein Datum umzuwandeln:
=A1/86400 + DATUM(1970;1;1)
Diese Formel konvertiert den Unix Timestamp in ein Excel-Datum.
Zeitzone anpassen: Da Unix-Zeitstempel in UTC (GMT) angegeben sind, musst du die Zeit für Mitteleuropa anpassen. Füge eine Stunde für MEZ (Mitteleuropäische Zeit) oder zwei Stunden für MESZ (Mitteleuropäische Sommerzeit) hinzu:
=A1/86400 + DATUM(1970;1;1) + WENN(UND(DATUM(JAHR(A1/86400 + DATUM(1970;1;1)); MONAT(A1/86400 + DATUM(1970;1;1)); TAG(A1/86400 + DATUM(1970;1;1))) >= LetzteSonntag(JAHR(A1/86400 + DATUM(1970;1;1)); 3); DATUM(JAHR(A1/86400 + DATUM(1970;1;1)); MONAT(A1/86400 + DATUM(1970;1;1)); TAG(A1/86400 + DATUM(1970;1;1))) < LetzteSonntag(JAHR(A1/86400 + DATUM(1970;1;1)); 10)); 2; 1)
Formel für den letzten Sonntag: Um den letzten Sonntag im März und Oktober zu bestimmen, kannst du die folgende Funktion nutzen:
Function LetzteSonntag(Jahr As Integer, Monat As Integer) As Date
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
Beispiel 1: Umrechnung eines Timestamps (1648162800) in Excel:
=1648162800/86400 + DATUM(1970;1;1) + 2
Das Ergebnis sollte 27.03.2022 03:00 sein (MESZ).
Beispiel 2: Umrechnung eines Timestamps (1658765085) in Excel:
=1658765085/86400 + DATUM(1970;1;1) + 1
Das Ergebnis sollte 25.03.2022 00:00 sein (MEZ).
1. Wie kann ich den aktuellen Unix Timestamp in Excel erhalten?
Verwende die Formel =JETZT()
, um das aktuelle Datum und die Uhrzeit zu erhalten, und konvertiere es dann in einen Unix Timestamp mit:
=(JETZT()-DATUM(1970;1;1))*86400
2. Funktioniert diese Methode in allen Excel-Versionen? Die beschriebenen Methoden sollten in den meisten aktuellen Excel-Versionen funktionieren, einschließlich Excel 2016 und neuer. Stelle sicher, dass du die VBA-Funktionen in einer Version verwendest, die Makros unterstützt.
3. Was ist der Unterschied zwischen UTC und GMT? UTC (Koordinierte Weltzeit) ist eine präzisere Zeitmessung als GMT (Greenwich Mean Time) und wird als der internationale Standard für die Zeitmessung verwendet. UTC bezieht sich nicht auf eine Zeitzone, während GMT eine Zeitzone ist.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen