TCP-Server und Uhrzeiten

Soundthesizer, Zusitool und andere Zusatzsoftware

Moderatoren: Andreas Damm, Jens Haupert

Antworten
Nachricht
Autor
Benutzeravatar
Thomas B
Beiträge: 411
Registriert: 28.03.2007 16:41:08
Wohnort: Bergisch Gladbach
Kontaktdaten:

TCP-Server und Uhrzeiten

#1 Beitrag von Thomas B »

Hallo,
nachdem ich es geschafft habe, Zusi-TCP auch in Visual Basic erfolgreich zu implementieren, habe ich nun ein Problem mit den Daten Uhrzeit Stunde/Minute/Sekunde. Ich lese die Werte als Single aus (Ist doch richtig oder?). Wie aber ist es möglich, diese Werte wieder in vernünftige Zeitinformationen zu konvertieren?

Grüße,
Thomas
Grüße,
Thomas (eh. ElektrikTrick)

Christopher Spies
Beiträge: 775
Registriert: 26.01.2005 16:10:18
Wohnort: Darmstadt

Re: TCP-Server und Uhrzeiten

#2 Beitrag von Christopher Spies »

Hallo Thomas,
Thomas Boschen hat geschrieben:Ich lese die Werte als Single aus (Ist doch richtig oder?).
nein, es handelt sich um doppeltgenaue Gleitkommazahlen (Typ double, 64 Bit).
Thomas Boschen hat geschrieben:Wie aber ist es möglich, diese Werte wieder in vernünftige Zeitinformationen zu konvertieren?
Der Wert gibt die Anzahl der Tage seit dem 30. Dezember 1899 an (warum auch immer ?( ).
Der 01. Januar 1900, 00:00 Uhr entspricht also dem Wert 2,0 (Achtung, nicht 0,0 und auch nicht 1,0!).
Die Nachkommastellen entsprechen dann natürlich der Uhrzeit:
  • x,5 entspricht 12 Uhr mittags
  • x,75 entspricht 6 Uhr abends
  • usw.
Das ist auch der Grund, warum dieser Wert eine größere Präzision hat als die anderen vom TCP-Server übermittelten Daten -- einfache Genauigkeit würde nicht ausreichen, um sekundengenaue Uhrzeiten so zu kodieren.

Gruß,
- Christopher

Benutzeravatar
Thomas B
Beiträge: 411
Registriert: 28.03.2007 16:41:08
Wohnort: Bergisch Gladbach
Kontaktdaten:

Re: TCP-Server und Uhrzeiten

#3 Beitrag von Thomas B »

Hallo Christopher,
danke für die schnelle Antwort.
Der Wert gibt die Anzahl der Tage seit dem 30. Dezember 1899 an (warum auch immer ?( ).
Aber warum dann insgesamt drei Werte? "Uhrzeit Stunde", "Uhrzeit Minute" und "Uhrzeit Sekunde"? Meinst du die selben Werte wie ich?

Grüße,
Thomas
Grüße,
Thomas (eh. ElektrikTrick)

Christopher Spies
Beiträge: 775
Registriert: 26.01.2005 16:10:18
Wohnort: Darmstadt

Re: TCP-Server und Uhrzeiten

#4 Beitrag von Christopher Spies »

Hallo Thomas,
Thomas Boschen hat geschrieben:Aber warum dann insgesamt drei Werte? "Uhrzeit Stunde", "Uhrzeit Minute" und "Uhrzeit Sekunde"? Meinst du die selben Werte wie ich?
nein, ich hatte Deinen Beitrag nicht genau genug gelesen :O .
Es gibt nämlich auch noch den Wert "Uhrzeit (digital)", und dessen Funktionsweise habe ich oben beschrieben :] .

Die Werte, die Du meinst, sind speziell für die Darstellung von Analoguhren gedacht und deshalb etwas unintuitiv...

Uhrzeit Stunde ist eine einfachgenaue Gleitkommazahl (single) und gibt die Position des Stundenzeigers an. Die Nachkommastellen geben die Minuten und Sekunden an:
  • 0,0 entspricht "Zwölf Uhr"
  • 0,5 entspricht "Halb Eins"
  • 1,0 entspricht "Ein Uhr"
  • usw.
Wie bei Analoguhren üblich wird ein 12-Stunden-Format verwendet, 6 Uhr Morgens und 6 Uhr Abends sind also ununterscheidbar!

Uhrzeit Minute ist eine einfachgenaue Gleitkommazahl (single) und gibt die Position des Minutenzeigers an. Der Wert muss mit 5 multipliziert werden, um die eigentliche Minute zu erhalten:
  • 0,0 entspricht der vollen Stunde
  • 0,2 entspricht "1 Minute nach der vollen Stunde"
  • 1,0 entspricht "5 Minuten nach der vollen Stunde"
  • usw. (wie auf handelsüblichen Uhren eben)
. Es werden nur ganze Minuten betrachtet, der Wertebereich ist also 0,0 bis 11,8 in Schritten von 0,2.

Uhrzeit Sekunde ist eine einfachgenaue Gleitkommazahl (single) und gibt die Position des Sekundenzeigers an. Der Wert muss mit 5 multipliziert werden, um die eigentliche Sekunde zu erhalten (s.o.). Es werden nur ganze Minuten betrachtet.

Ich selbst bevorzuge den Wert Uhrzeit digital, da weiß man dann auch, ob es Vormittag oder Nachmittag ist. Außerdem verhält sich dieser Wert monoton, was für bestimmte Anwendungen wichtig ist.

Gruß,
- Christopher

Benutzeravatar
Thomas B
Beiträge: 411
Registriert: 28.03.2007 16:41:08
Wohnort: Bergisch Gladbach
Kontaktdaten:

Re: TCP-Server und Uhrzeiten

#5 Beitrag von Thomas B »

Analog... Klar das ich nur kauderwelsch herausbekommen habe :D
Mit dem anderen Wert hatte ich auch schon gespielt. Hier hatte ich einfach angenommen das es sich um einen String handelt. Konnte natürlich nicht funktionieren. Werde es jetzt mal mit Double versuchen, gut möglich daß das Date-Object damit arbeiten kann.
Danke für deine Hilfe :)

Grüße,
Thomas
Grüße,
Thomas (eh. ElektrikTrick)

Benutzeravatar
Thomas B
Beiträge: 411
Registriert: 28.03.2007 16:41:08
Wohnort: Bergisch Gladbach
Kontaktdaten:

Re: TCP-Server und Uhrzeiten

#6 Beitrag von Thomas B »

Jetzt funktioniert es wunderbar, vielen Dank noch mal Christopher :)

Thomas
Grüße,
Thomas (eh. ElektrikTrick)

Antworten