Rubrik: Datum/Zeit und Timer · Datums- und Zeit-Funktionen | VB-Versionen: VB.NET | 20.02.06 |
Unix Timestamp (.NET) Umwandeln von DateTime zu Unix Timestamp und zurück | ||
Autor: Michael Scholle | Bewertung: | Views: 26.080 |
ohne Homepage | System: WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Diese Klasse wandelt eine DateTime Variable in einen Unix Timestamp um, so wie er auch z.B bei MySQL-Servern verwendet wird. Im Grunde werden nur die Anzahl der Sekunden seit dem 1.1.1970 00:00:00 Uhr bis zur angegebenen Zeit ermittelt und als Integervariable wiedergegeben.
Die zweite Funktion macht es genau andersrum und ermittelt aus dem Timestamp eine DateTime Variable.
Zum leichteren Einfügen in ein Projekt gibts Alles als Klasse und als Shared, so dass man nicht extra eine Instanz davon bilden muss und direkt über den Klassenbezeichner Zugriff auf die Funktionen hat.
Hier der Code:
Public Class cUnix Public Shared Function GetTimestamp(ByVal FromDateTime As DateTime) As Integer Dim Startdate As DateTime = #1/1/1970# Dim Spanne As TimeSpan Spanne = FromDateTime.Subtract(Startdate) Return CType(Math.Abs(Spanne.TotalSeconds()), Integer) End Function Public Shared Function GetDateFromTimestamp(ByVal unixTimestamp As Integer) As DateTime Dim Span As TimeSpan Dim Startdate As Date = #1/1/1970# If unixTimestamp = 0 Then Return Startdate Span = New TimeSpan(0, 0, unixTimestamp) Return Startdate.Add(Span) End Function End Class