1/1000 Sekunden berechnen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 1/1000 Sekunden berechnen

    Moin,

    ich habe folgende Ausgangssituation. Ich habe eine Datenbank mit Rennergebnissen bzw. gefahrenen Rundenzeiten, die auf eine 1/1000 Sekunde genau sind (z.B: 00:45:589 Minuten). Zur Zeit stehen diese Werte in einer SQL Spalte vom Typ CHAR(9). Zum sortieren hat das bis jetzt immer ausgereicht. Ich würde jetzt aber gerne die Differenz zu verschiedenen Rundenzeiten ermitteln (natürlich auch auf die 1/1000 Sekunde genau) um eine Liste zu erstellen die man so auch aus dem Fernsehen kennt:

    Fahrer 1: 00:45:589
    Fahrer 2: 00:45:621 +00:00:032
    usw

    Mein erster Ansatz war, die Sekunden von den 1/1000 Sekunden zu teilen und separat zu berechnen. Aber da muss es doch eine einfacherer Variante geben?! Hat jemand von Euch eine Idee wie man das umsetzten kann?

    Gruß,
    Paddy
    Kennst Du Hamburg?

  • #2
    Ich denke CHAR ist als Spalte nicht wirklich hilfreich. Wieso speicherst du die Rundenzeiten nicht als FLOAT/DOUBLE in Sekunden in die DB? Die Formatierung zur Ausgabe kannst du dann mit MySql Mitteln beim Auslesen erstellen
    http://dev.mysql.com/doc/refman/5.1/...ric-types.html
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Ich habe jetzt die Zeiten in 1/1000 Sekunden in Datenbank gespeichert. 00:45:968 steht jetzt also als Wert 45968 in der DB. Ein Funktion baut mir dann wieder eine "normale" Zeit aus dem Wert. Hier für Interessierte die Funktion:

      PHP-Code:
      function converttime($time) {
          
      $min 0;
          
      $sec 0;
          
      $msec 0;
          
          while(
      $time >= 60000) {
              
      $min++;
              
      $time $time 60000;
              }
          if(
      $time != 0) {
              
      $time $time 1000;
              list(
      $sec$msec) = split('[.,]'$time);
          }
          
          
      $min str_pad($min2"0"STR_PAD_LEFT);
          
      $sec str_pad($sec2"0"STR_PAD_LEFT);
          
      $msec str_pad($msec3"0"STR_PAD_RIGHT);
          
          return 
      $newtime $min.':'.$sec.':'.$msec;

      Gruß,
      Paddy
      Kennst Du Hamburg?

      Kommentar

      Lädt...
      X