Rubrik: Datum/Zeit und Timer · Datums- und Zeitfunktionen | VB-Versionen: VB4, VB5, VB6 | 22.04.04 |
Swatch-Zeit Berechnen Sie die Swatch-Zeit von VB aus | ||
Autor: E7 | Bewertung: | Views: 14.623 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Ein bekannter Uhrenhersteller aus der Schweiz hatte vor langer Zeit einmal die Idee, eine weltweit einheitliche Uhrzeit einzuführen. Dazu wurde der Tag in genau 1000 Beats aufgeteilt; und zwar weltweit für alle gleich nach der Greenwitch-Time. Oder anders gesagt: Es ist nur eine andere Angabe der aktuellen Uhrzeit; und ohne die Einbeziehung von Zeitzonen...
Hier der Code für VB, um an die aktuelle Swatch-Zeit zu kommen:
' Swatch-Zeit berechnen Public Function Swatch(Optional ByVal GMTPlus As Byte = 0) As Long ' Variable deklarieren Dim H As Long ' Aktuelle Stunde H = Hour(Now) ' Evtl. GMT-Offset abziehen H = H - GMTPlus ' Wenn was unter 24 rauskommt: Neuer Tag Do While H > 24: H = H - 24: Loop ' 24 Uhr = 0 Uhr nächster Tag If H = 24 Then H = 0 ' Wieviele Sekunden ist der Tag alt? H = Minute(Now) * 60 + Second(Now) + H * 60 * 60 ' Swatch-Zeit ausrechnen u. abrunden H = Round(1000 / 86400 * H - 0.5) ' Zurückgeben Swatch = H End Function
Aufruf:
Private Sub Command1_Click() MsgBox Swatch(1) End Sub
Als Parameter muss hier der Wert 1 übergeben werden, da wir in Deutschland ja eine Stunde voraus sind.