vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Datum/Zeit und Timer · Datums- und Zeitfunktionen   |   VB-Versionen: VB5, VB603.05.02
Unix-Timestamp nach VB-Date konvertieren

Eine Funktion, die eine Unix-Timestamp Angabe in ein lesbares VB-Date umwandelt.

Autor:   Dieter OtterBewertung:     [ Jetzt bewerten ]Views:  29.867 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Eine Unix-Timestamp zählt die Anzahl vergangener Sekunden seit dem Beginn der Unix-Epoche (01.01.1970). Wie man eine solche Unix-Timestamp in ein lesbares Datum/Zeitformat umwandeln, das verrät Ihnen nachfolgender Tipp.

Überlegung...
Wie lassen sich nun die Sekunden - und zwar seit dem 01.01.1970 - in Tag, Monat, Jahr, Stunde, Minute und Sekunde umwandeln?

Manch einer würde jetzt sicherlich auf folgende Idee kommen: Man rechnet die Sekunden zunächst in Minuten um, die Minuten wiederum in Stunden, die Stunden in Tage, die Tage in Jahre (aber Vorsicht - Schaltjahre berücksichtigen!). Die einzelnen Restwerte werden dann wieder zurückgerechnet - auf Monate, Tage, Stunden usw.

Aber warum so kompliziert?
Visual Basic bietet uns für Datum/Zeitberechnungen doch hervorragende Funktionen!

Da wäre u.a. die DateAdd-Funktion, mit der wir zu einem bestehenden Datum ein beliebiges Intervall (Jahre, Monate, Tage, Stunden usw.) hinzuaddieren können. Wenn wir also zum 01.01.1970 (Beginn der Unix-Epoche) die Unix-Timestamp (Sekunden) hinzuaddieren, erhalten wir als Rückgabe das gewünschte Ergebnis - eine Datums/Zeitangabe, unter der wir uns etwas vorstellen können.

Und hier die Umsetzung...

' Unix-Timestamp in lesbares Datum/Zeit konvertieren
' (VB-Date)
Public Function VB_CTime(ByVal dblSec As Double) As Variant
  ' dblSec = vergangene Sekunden seit 1.1.1970
  Dim vStart As Variant
 
  ' Fehlerbehandlung einschalten, falls
  ' dblSec außerhalb des Gültigkeitbereichs
  On Error Resume Next
 
  vStart = DateSerial(1970, 1, 1)
  VB_CTime = DateAdd("s", dblSec, vStart)
End Function

Dieser Tipp wurde bereits 29.867 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Aktuelle Diskussion anzeigen (1 Beitrag)

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel