ABOUT Visual Basic Programmieren Programmierung Download Downloads Tips & Tricks Tipps & Tricks Know-How Praxis VB VBA Visual Basic for Applications VBS VBScript Scripting Windows ActiveX COM OLE API ComputerPC Microsoft Office Microsoft Office 97 Office 2000 Access Word Winword Excel Outlook Addins ASP Active Server Pages COMAddIns ActiveX-Controls OCX UserControl UserDocument Komponenten DLL EXE
Diese Seite wurde zuletzt aktualisiert am 24.07.2001

Diese Seite wurde zuletzt aktualisiert am 24.07.2001
Aktuell im ABOUT Visual Basic-MagazinGrundlagenwissen und TechnologienKnow How, Tipps und Tricks rund um Visual BasicActiveX-Komponenten, Controls, Klassen und mehr...AddIns für die Visual Basic-IDE und die VBA-IDEVBA-Programmierung in MS-Office und anderen AnwendungenScripting-Praxis für den Windows Scripting Host und das Scripting-ControlTools, Komponenten und Dienstleistungen des MarktesRessourcen für Programmierer (Bücher, Job-Börse)Dies&Das...

Themen und Stichwörter im ABOUT Visual Basic-Magazin
Code, Beispiele, Komponenten, Tools im Überblick, Shareware, Freeware
Ihre Service-Seite, Termine, Job-Börse
Melden Sie sich an, um in den vollen Genuss des ABOUT Visual Basic-Magazins zu kommen!
Informationen zum ABOUT Visual Basic-Magazin, Kontakt und Impressum

Zurück...

Zeitstempel

Zurück...


Anzeige

(-hg) mailto:hg_timestamp@aboutvb.de

Für länger laufende Zeitmessungen mit einer Auflösung im Sekundenbereich oder für datumsunabhängige Zeitstempel ("TimeStamp") benötigen Sie einen festen Bezugszeitpunkt, ab dem die verstrichenen Sekunden ein Messpunkt bzw. Zeitstempel ergeben. Eine Möglichkeit wäre, den dem Visual Basic-Zeitsystem zugrunde liegenden 0-Zeitpunkt als Zählerstart zu setzen (das wäre der 30.12.1899, 0 Uhr) und die seither vergangenen Sekunden von der Funktion DateDiff berechnen zu lassen:

Sekunden = DateDiff("s", CDate(0), Now)

Ein anderer Bezugszeitpunkt hat vor allem Bedeutung bei der Synchronisation mit Unix-Rechnern - und damit vor allem für Internet-Anwendungen. Bei wohl den meisten Unix- und Linux-Systemen gilt der 1.1.1970, 0 Uhr als "Beginn der Zeitrechnung":

UnixSekunden = DateDiff("s", CDate(#01/01/1970#), Now)

Natürlich können Sie auch jedes andere Datum mit jeder anderen Uhrzeit als Bezugszeitpunkt festlegen. Die in dieser Hinsicht flexible Funktion TimeStamp liefert Ihnen die Anzahl der verstrichenen Sekunden seit einem Bezugszeitpunkt. Im ersten optionalen Parameter können Sie festlegen, ob der Windows oder der Unix-0-Zeitpunkt gelten sollen, oder ein im ebenfalls optionalen zweiten Parameter angegebener beliebiger Datums-/Zeit-Wert.

Public Enum TimeStampConstants
  tsWindows
  tsUnix
  tsUser
End Enum

Public Enum TimeStampErrorContants
  tsErrInvalidTimeBase = 30001
  tsErrInvalidStartDate = 30002
End Enum

Public Function TimeStamp( _
 Optional ByVal TimeBase As TimeStampConstants = tsWindows, _
 Optional ByVal StartDate As Variant) As Variant

  Select Case TimeBase
    Case tsWindows
      StartDate = CDate(0)
    Case tsUnix
      StartDate = #1/1/1970#
    Case tsUser
      If IsMissing(StartDate) Then
        StartDate = CDate(0)
      Else
        On Error Resume Next
        StartDate = CDate(StartDate)
        If Err.Number Then
          Err.Raise tsErrInvalidStartDate
        End If
      End If
    Case Else
      Err.Raise tsErrInvalidTimeBase
  End Select
  TimeStamp = CDec(DateDiff("s", StartDate, Now))
End Function

Da wir gerade beim Zählen von Sekunden sind - wissen Sie, wie viele Sekunden oder wie viele Minuten ein Tag oder eine Woche haben? Oder Stunden eine Woche hat? Die Antwort liefert Ihnen prompt die Funktion CountTimeUnits:

Public Enum CountTimeUnitsConstants
  ctuSecondsOfDay
  ctuSecondsOfWeek
  ctuMinutesOfDay
  ctuMinutesOfWeek
  ctuHoursOfWeek
End Enum

Public Function CountTimeUnits( _
 Optional ByVal CountTimeUnit As CountTimeUnitsConstants _
 = ctuSecondsOfDay) As Long

  Select Case CountTimeUnit
    Case ctuSecondsOfDay
      CountTimeUnits = DateDiff("s", Now - 1, Now)
    Case ctuSecondsOfWeek
      CountTimeUnits = DateDiff("s", Now - 7, Now)
    Case ctuMinutesOfDay
      CountTimeUnits = DateDiff("n", Now - 1, Now)
    Case ctuMinutesOfWeek
      CountTimeUnits = DateDiff("n", Now - 7, Now)
    Case ctuHoursOfWeek
      CountTimeUnits = DateDiff("h", Now - 7, Now)
  End Select
End Function

Modul modTimeStamp (modTimeStamp.bas - ca. 1,9 KB)


Artikel
Zum Download-Bereich dieses Artikel
Mail an den Autor dieses Artikels

KnowHow
Zur KnowHow-Übersicht

KnowHow-Themen
Themen - Allgemeines
Themen - Entwicklungsumgebung (VB-IDE)
Themen - Forms
Themen - Steuerelemente (Controls)
Themen - Grafik
Themen - Dateien
Themen - UserControls
Themen - Einsteiger-Tipps
Themen - Wussten Sie...?

Übersicht nach Titeln in alphabetischer Reihenfolge
Übersicht nach Erscheinungsdatum

Schnellsuche




Zum Seitenanfang

Copyright © 1999 - 2017 Harald M. Genauck, ip-pro gmbh  /  Impressum

Zum Seitenanfang

Zurück...

Zurück...

Download Internet Explorer