Uhrzeit in Dezimal mit PHP

sasser1981

Grünschnabel
Moinsen Leute,

Folgendes Problem:

Ich habe verschiedene Uhrzeiten im Format: hh:mm:ss

Und in mm:ss

Nun suche ich die möglichkeit, in Dezimal umzurechnen.

zB 03:31:18

Was mir eingfallen war, ist
(((Stunde/60)+Min/60)+sek/60)
Das ganze gerundet ergibt dann 0,87

Gebe ich die Uhrzeit testweise in Excel ein, erhalte ich aber den wert 0,14673611
Ich denke mal Exel ist richtiger, und daher suche ich die richtige formel...

PHP:
        $time_array = explode(":",$the_time);
        $time_H = $time_array [0];
        $time_M = $time_array [1];
        $time_S = $time_array [2];   
            
        $time_HMS  = ((($time_H /60)+$time_M /60)+$time_S /60);   
        $time_HMS  = number_format($time_HMS  , 2);


Und die Umrechnung mit /24 geht auch irgendwie nicht...

Da bekomme ich bei jedem Wert 0,125 heraus

PHP:
$test_time =   ($the_time/24);


Kann mir da einer weiterhelfen? :(
 
Kannst du ein kurzes Beispiel geben,

was hast du als Input, und was willst du als Output haben?
Steige bei der Frage stellung grad nicht durch.
 
Du willst den ganzen Tag als Teil von 1 berechnen? 12 Uhr ist also 0.5, richtig?

Dann mach es ganz simpel auf der Sekundenbasis. Ein Tag hat 86.400 Sekunden. Aktuell sind
Code:
sekundenHeute= Std*60*60 + Min*60 + Sek
vergangen.

Nun Dreisatz.

mfg chmee
 
Kannst du ein kurzes Beispiel geben,

was hast du als Input, und was willst du als Output haben?
Steige bei der Frage stellung grad nicht durch.
Als input habe ich mehrere Uhrzeiten in den formaten:

hh:mm:ss und mm:ss
und ich möchte als output dezimalzahlen haben...

Beispiel input: 3:31:18
output = 0,14673611



Du willst den ganzen Tag als Teil von 1 berechnen? 12 Uhr ist also 0.5, richtig?

Dann mach es ganz simpel auf der Sekundenbasis. Ein Tag hat 86.400 Sekunden. Aktuell sind
Code:
sekundenHeute= Std*60*60 + Min*60 + Sek
vergangen.

Nun Dreisatz.

mfg chmee

Danke, ich glaube nun hab ich es... ;)
Habe nun
PHP:
$time_HMS = (($time_H*60*60)+($time_M*60)+$time_S)/86400;

Dies ergibt bei 3:31:18
tatsächlich den gleichen Wert wie bei Excel =)
0.14673611111111

Hast mir echt geholfen. Danke
 
Zurück