Datum in Unix-Timestamp umwandeln mit Excel und VBA
Schritt-für-Schritt-Anleitung
Um ein Datum in einen Unix-Timestamp umzuwandeln, kannst Du die folgende VBA-Routine verwenden. Hier sind die Schritte:
-
Öffne Excel und drücke ALT + F11
, um den Visual Basic for Applications (VBA)-Editor zu öffnen.
-
Klicke auf Einfügen
und dann auf Modul
, um ein neues Modul zu erstellen.
-
Füge den folgenden Code in das Modul ein:
Function ConvertToUnixTimestamp(datum As Date) As Long
ConvertToUnixTimestamp = DateDiff("s", DateSerial(1970, 1, 1), datum)
End Function
-
Schließe den VBA-Editor und gehe zurück zu Excel.
-
Verwende die Funktion in einer Zelle, indem Du die folgende Formel eingibst:
=ConvertToUnixTimestamp(A1)
Hierbei ist A1
die Zelle, die das Datum enthält.
Häufige Fehler und Lösungen
Fehler: Der zurückgegebene Unix-Timestamp ist negativ.
Lösung: Stelle sicher, dass das eingegebene Datum nach dem 1. Januar 1970 liegt. Unix-Timestamps messen die Zeit in Sekunden seit diesem Datum.
Fehler: Die Funktion gibt einen Fehler zurück.
Lösung: Überprüfe, ob das eingegebene Datum im richtigen Format vorliegt. Es sollte als Datum formatiert sein.
Alternative Methoden
Falls Du keine VBA-Funktion verwenden möchtest, kannst Du das Datum auch direkt in Excel mit einer Formel umwandeln:
-
Wenn Dein Datum in Zelle A1 steht, kannst Du die folgende Formel verwenden:
=DATEDIF("01.01.1970", A1, "s")
-
Eine andere Möglichkeit ist:
=(A1 - DATE(1970,1,1)) * 86400
Diese Formeln rechnen die Differenz in Sekunden aus und konvertieren das Datum in einen Unix-Timestamp.
Praktische Beispiele
Nehmen wir an, das Datum 12.11.2016 13:18:53
steht in Zelle A1.
-
Mit der VBA-Funktion:
=ConvertToUnixTimestamp(A1) ' Ergebnis: 1478956733
-
Mit einer Formel:
=DATEDIF("01.01.1970", A1, "s") ' Ergebnis: 1478956733
Beide Methoden führen zum gleichen Ergebnis und konvertieren das Datum in einen Unix-Timestamp.
Tipps für Profis
- Wenn Du häufig mit Unix-Timestamps arbeitest, kannst Du benutzerdefinierte Funktionen in VBA erstellen, um verschiedene Zeitformate zu konvertieren.
- Nutze die Funktion
DateDiff
in VBA, um Zeitdifferenzen zwischen verschiedenen Datumsangaben zu berechnen.
- Wenn Du mit Zeitzonen arbeitest, achte darauf, dass der Unix-Timestamp in UTC angegeben wird. Nutze die Funktion
DateAdd
, um Zeitverschiebungen zu berücksichtigen.
FAQ: Häufige Fragen
1. Wie kann ich den aktuellen Unix-Timestamp ermitteln?
Verwende die Formel =ConvertToUnixTimestamp(NOW())
in Excel, um den aktuellen Timestamp zu erhalten.
2. Kann ich einen Unix-Timestamp zurück in ein Datum umwandeln?
Ja, Du kannst den Timestamp mit folgender Formel in ein Datum umwandeln:
=(((A1/86400)+25569)) ' A1 enthält den Unix-Timestamp
Diese Formel konvertiert den Unix-Timestamp zurück in ein Excel-Datum.