Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: mit VBA Datum in Unix-Timestamp umwandeln

mit VBA Datum in Unix-Timestamp umwandeln
18.12.2016 10:25:58
Werner
Hallo Forum,
ich möchte ein Datum in einen Unix-Timestamp umrechnen. Die Frage ist nur, wie.
Ich habe den Unix-Timestamp 1478956733 mit Hilfe einer im Internet gefundenen Routine in ein Datum umgerechnet; heraus kam 12.11.2016 13:18:53.
Meine Frage: wie kann ich aus dem genannten Datum wieder den Unix-Timestamp errechnen?
Grüße aus dem Schwabenland
Werner
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mit VBA Datum in Unix-Timestamp umwandeln
18.12.2016 11:08:57
Tino
Hallo,
hier mal zwei Varianten.
Dim dDatum As Date, lngUnix_Date As Long dDatum = CDate("12.11.2016 13:18:53") 'Variante 1 lngUnix_Date = DateDiff("s", DateSerial(1970, 1, 1), dDatum) 'Variante 2 lngUnix_Date = (dDatum - DateSerial(1970, 1, 1)) * 86400 Gruß Tino
AW: mit VBA Datum in Unix-Timestamp umwandeln
18.12.2016 11:39:20
Werner
Hallo Tino,
danke für die rasche Antwort. Habe den Code probiert und sage nur: super.
Gruß
Werner
Anzeige
AW: mit VBA Datum in Unix-Timestamp umwandeln
18.12.2016 18:07:29
Wilfried
Hallo!
Oder so mit Formel
Tabelle1

 AB
1Unix TimestampMEZ - Zeit
2147895673312.11.2016 15:18:53
3  
4MEZ - ZeitUnix Timestamp
512.11.2016 15:18:531478956733

Formeln der Tabelle
ZelleFormel
B2=(A2/86400)+25569,08333
B5=A5*86400-(25569,08333*86400)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß
Wilfried
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

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:

  1. Öffne Excel und drücke ALT + F11, um den Visual Basic for Applications (VBA)-Editor zu öffnen.

  2. Klicke auf Einfügen und dann auf Modul, um ein neues Modul zu erstellen.

  3. 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
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. 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:

  1. Wenn Dein Datum in Zelle A1 steht, kannst Du die folgende Formel verwenden:

    =DATEDIF("01.01.1970", A1, "s")
  2. 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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige