UNIX Timestamp in Excel richtig umrechnen
Schritt-für-Schritt-Anleitung
Um einen UNIX Timestamp in Excel korrekt in ein Datum umzuwandeln, kannst Du die folgende VBA-Funktion verwenden. Diese Funktion berücksichtigt auch die Sommerzeit und Winterzeit.
- Öffne Excel und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Klicke auf
Einfügen
> Modul
, um ein neues Modul zu erstellen.
- Füge den folgenden Code in das Modul ein:
Public Function VB_CTime(ByVal dblSec As Double) As Variant
' dblSec = vergangene Sekunden seit 1.1.1970
Dim vStart As Variant
Dim ldtSZ As Date, ldtWZ As Date, liDatum As Integer
' Berechnung der Sommerzeit
For liDatum = 31 To 1 Step -1
If Weekday(liDatum & ".03." & Year(Date), vbMonday) = 7 Then
ldtSZ = liDatum & ".03." & Year(Date)
Exit For
End If
Next
' Berechnung der Winterzeit
For liDatum = 31 To 1 Step -1
If Weekday(liDatum & ".10." & Year(Date), vbMonday) = 7 Then
ldtWZ = liDatum & ".10." & Year(Date)
Exit For
End If
Next
' Fehlerbehandlung
On Error Resume Next
vStart = DateSerial(1970, 1, 1)
' Anpassung der Zeitzone
If Date >= ldtSZ And Date < ldtWZ Then
dblSec = dblSec + 3600 ' Sommerzeit: 1 Stunde hinzufügen
End If
VB_CTime = DateAdd("s", dblSec, vStart)
End Function
- Schließe den VBA-Editor.
- Verwende die Funktion in einer Excel-Zelle, indem Du
=VB_CTime(A1)
schreibst, wobei A1 die Zelle mit dem UNIX Timestamp ist.
Häufige Fehler und Lösungen
Alternative Methoden
Falls Du keine VBA-Funktion verwenden möchtest, kannst Du auch Formeln in Excel nutzen:
- Für die Umwandlung in Datum ohne Berücksichtigung der Zeitzone:
=A1/86400 + DATE(1970,1,1)
- Für UNIX Timestamp in Datum umwandeln mit Zeitzonenanpassung:
=(A1/86400 + DATE(1970,1,1)) + IF(AND(TODAY() >= DATE(YEAR(TODAY()),3,31), TODAY() < DATE(YEAR(TODAY()),10,31)), 1/24, 0)
Praktische Beispiele
Tipps für Profis
- VBA optimieren: Wenn Du regelmäßig mit UNIX Timestamps arbeitest, kannst Du die Funktion erweitern, um auch verschiedene Zeitzonen zu berücksichtigen.
- Datenbankintegration: Du kannst die Funktion direkt in Datenbankabfragen einbinden, um UNIX Timestamps bei der Datenanalyse zu nutzen.
- Fehlerprotokollierung: Implementiere eine Fehlerüberprüfung, um ungültige Timestamps zu protokollieren und zu analysieren.
FAQ: Häufige Fragen
1. Wie kann ich einen UNIX Timestamp in Excel ohne VBA umrechnen?
Du kannst die Formel =A1/86400 + DATE(1970,1,1)
verwenden, um den Timestamp in ein Datum umzuwandeln, allerdings wird dabei die Zeitzone nicht berücksichtigt.
2. Was ist der Unterschied zwischen Sommerzeit und Winterzeit in diesem Kontext?
Die Sommerzeit wird in vielen Ländern durch das Hinzufügen einer Stunde zu den UTC-Zeiten realisiert, während die Winterzeit keine solche Anpassung erfordert. Dies muss bei der Umrechnung von UNIX Timestamps beachtet werden.
3. Funktioniert diese Methode in allen Excel-Versionen?
Die VBA-Funktion funktioniert in den meisten modernen Excel-Versionen. Einige ältere Versionen könnten jedoch Einschränkungen haben.