Rubrik: Datum/Zeit und Timer · Datums- und Zeitfunktionen | VB-Versionen: VB6 | 31.03.08 |
Aktuelles Datum/Zeit in Unix-Timestamp umrechnen Diese Funktion gibt den Unix-Timestamp (Anzahl Sekunden seit dem 01.01.1970) für das aktuell eingestellte Systemdatum/-zeit zurück. | ||
Autor: Dieter Otter | Bewertung: | Views: 29.372 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Nachfolgende Funktion wandelt die aktuelle Systemzeit in einen Unix-Timestamp um, so wie er auch z.B. bei MySQL-Servern verwendet wird. Ein Unix-Timestamp gibt die Anzahl Sekunden seit dem 01.01.1970 00:00:00 Uhr zurück.
Option Explicit ' benötigte API-Deklarationen Private Declare Sub GetSystemTime Lib "kernel32" ( _ lpSystemTime As SYSTEMTIME) Private Type SYSTEMTIME wYear As Integer wMonth As Integer wDayOfWeek As Integer wDay As Integer wHour As Integer wMinute As Integer wSecond As Integer wMilliseconds As Integer End Type
Private Function GetUnixTimestamp() As Long ' Zeit-Differenz zum 01.01.1970 00:00:00 berechnen Dim nSek As Long nSek = DateDiff("s", CDate("01.01.1970 00:00:00"), Now) ' jetzt noch Sommern/Winterzeit berücksichtigen Dim nDiff As Long Dim st As SYSTEMTIME ' Systemzeit ermitteln GetSystemTime st ' Zeit-Differenz zur GMT-Zeit in Sekunden nDiff = DateDiff("s", DateSerial(st.wYear, st.wMonth, st.wDay) + _ TimeSerial(st.wHour, st.wMinute, st.wSecond), Now) nSek = nSek - nDiff GetUnixTimestamp = nSek End Function