Spielzeit berechnen (Tage, Stunden, Minuten, Sekunden)

  • Lua
    local playtime_string_d = math.floor(playtime/60/60/24)
    local playtime_string_h = math.floor(playtime - (playtime_string_d*60*60*24))
    local playtime_string_m = math.floor(playtime - (playtime_string_h*60*60))
    local playtime_string_s = math.floor(playtime - (playtime_string_m*60))


    *playtime sind die insgesamt gespielten Sekunden. Alles soll in einem Verhältnis berechnet werden.
    Nehmen wir als Beispiel 50000 Sekunden und rechnen wir ohne die Tage.

    *gerade mit einem Notizblock 100erte Rechenvarianten versucht, nur keine lass sich mit Sekunden berechnen.

    Diese Rechnungen sind momentan schwachsinn, doch wenn die Tage nicht mitbenutze, geht es.
    Es scheint mit den Tagen zusammenzuhängen.
    Auf den ersten Blick sieht das etwas schwachsinnig aus, doch in der Ausführung (ohne Tage/gleiches Prinzip) hat es funktioniert.

    EDIT: Die Rechnungen oben sind schwachsinn, wie schon erwähnt.
    Ich habe ein paar Testrechnungen gemacht.

    Spielzeit: 60000 Sekundne
    Stunden = 60000/60/60 = 16,66 (floor ~ 16)
    Minuten = (16,66*60) - (16*60) = 39,6
    Sekunden = (39,6*60) - (39*60) = 36 Sekunden


    Kann das stimmen ?

    EDIT: In LUA wäre das so:

    Lua
    local playtime_string_h = math.floor(playtime/60/60)
    local playtime_string_m = math.floor(playtime/60 - (playtime_string_h*60))
    local playtime_string_s = math.floor(playtime/60 - (playtime_string_h*60) - (playtime_string_m*60))


    *doch irgendwas läuft schief

    EDIT2: Ich habe jetzt 8 Rechnungen mit meinem Block gemacht und alle gingen auf, es scheint am Code zu liegen.

    ~ Signatur in Bearbeitung ~

    Einmal editiert, zuletzt von Krischkros (14. Juli 2012 um 15:48)

  • Dieses Thema enthält 6 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind, bitte registrieren Sie sich oder melden Sie sich an um diese lesen zu können.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!