Live-Forum - Die aktuellen Beiträge
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
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
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
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige