mySQL php time
-
Hi Leute,
folgendes Problem:
Ich habe zwei Tabellenfelder wo Uhrzeiten drinn stehen. Sie sind beide vom Typ time. Jetzt möchte ich mit Hilfe von PHP die Differenz zwischen den beiden Uhrzeiten ausrechnen um daraus hinterher ein Diagramm zu erstellen.
Wie kann ich die zwei Felder verrechnen und wie mach ich aus dem Ergebniss eine Kommazahl, also ohne Doppelpunkt???
Ich hoffe ihr könnt mir helfen, thx, mfg
dope_dope
-
Guck doch in's MYSQL-Manual:
http://dev.mysql.com/doc/maxdb/en/5b/33015ebc0d11d2a97100a0c9449261/content.htm
Gruß Karsten
-
Das ist ne mysql funktion, ich brauche eine in PHP
-
ich würde das auch die DB machen lassen. Wenn Du das in PHP lösen willst, kannst Du auch mit mktime() einen Unixtimestamp aus jeder Zeit erzeugen.
davon kannst Du ja dann die Differenz bilden.
-
Das ich einen timestamp erzeugen kann haben mir jetzt schon etliche gesagt, aber wie mach ich das denn aus meinem $data[time1] und $data[time2], ich schnall das irgendwie nicht.
-
wie sehen denn time1/2 aus ?
-
strtotime?!
-
Habs jetzt selber rausgekriegt:
$zeit = "13:29:35"; $arr = explode(":", $zeit); $timestamp1 = mktime($arr[0], $arr[1], $arr[2], date("m"), date("d"), date("y")); echo 'Time 1: ' . $timestamp1; $zeit = "15:12:39"; $arr = explode(":", $zeit); $timestamp2 = mktime($arr[0], $arr[1], $arr[2], date("m"), date("d"), date("y")); echo '<br/>Time 2: ' . $timestamp2; $ultimate_time=$timestamp2-$timestamp1; echo '<br/>Time 3: ' .$ultimate_time. '<br/>'; echo '<br/>Unterschied in Minuten: ' . $ultimate_time /60 . '<br/><br/>';
thx. mfg
dope_dope
-
Und warum willst du das jetzt nicht die DB berechnen lassen
Da gibt es nämlich bereits eine Funktion TIMEDIFF()
-
das hatte ich mich ja auch gefragt, daführte mein link hin...
aber so geht's ja auch!
-
Wisst ihr vielleicht wie ich aus meiner Zahl in Minuten, also z.b. 103 jetzt die Stunden berechnen kann???
Also ich würde
103 / 60
und bekomme
1,716666...
raus.
Die 1 ne Stunde stimmt, aber die Minuten ja nicht, die 0,7 muss ich dann noch mal 60 nehmen und bekomme
42min
raus.
Das Erebniss wäre dann also 01:42, oder auch 1h, 42min oder wie auch immer.Aber wie mach ich das mit PHP?
Erst
103 / 60
dann muss ich 1,71666 irgendwie am Komma splitten.
und die 716666 muss ich dann noch mal 6 nehmen.Wie kann man das umsetzen?
thx mfg
dope_dope
-
<?php $minutes = 103; $hour = floor($minutes/60); $minutes = $minutes%60; echo "$hour : $minutes"; ?>
-
minuten=103-($stunden*60);
aber meines Wissens geht so etwas auch mit Datumsfunktionen, Du kannst auf ein Datum Minuten/Tage/Jahre aufaddieren und das neue Datum ermitteln. Warum liest Du Dich nicht mal durch php.net/manual ?
Gruß Karsten