2012-04-02 5 views
0

Sorry für den leicht irreführenden Titel, ich bin nicht wirklich sicher, wie das zu formulieren ist.Rechenzeit mit Zeitstempel

Im Grunde arbeite ich an einem Zeit-Uhr-System.

Ich habe die Daten für jede Uhr in: Uhr in Timestamp und Clock Out Timestamp.

Nachdem alle Clocks in einem bestimmten Zeitraum angezeigt wurden, addiert das Skript alle Unterschiede zwischen den beiden Zeitstempeln.

Die eine Sache, die ich jetzt tun muss, ist tatsächlich diese Zahl in Stunden und Minuten zu konvertieren.

+1

Sie haben also eine letzte Summe, die * eine Anzahl von Sekunden * ist, oder? Sie können das in Minuten umwandeln, indem Sie durch 60 dividieren und zu Stunden, indem Sie wieder durch 60 dividieren ... – deceze

+0

Ich habe gerade das realisiert - danke :) – bear

Antwort

0

Verwenden Sie diese Funktion aus detaillierteren Ausgabe

function datefor($date, $time) 
{ 
$days = floor($time/(60 * 60 * 24)); 
$remainder = $time % (60 * 60 * 24); 
$hours = floor($remainder/(60 * 60)); 
$remainder = $remainder % (60 * 60); 
$minutes = floor($remainder/60); 
$seconds = $remainder % 60; 

if($days > 0) { 
     $data = date('F d Y', $date); 
     reset($date); 
    }  
    elseif($days == 0 && $hours == 0 && $minutes == 0) { 
     $data = "few seconds ago"; 
    } 
    elseif($days == 0 && $hours == 0) { 
     $data = $minutes.' minutes ago'; 
    } 
    elseif($days == 0 && $hours > 0) { 
     $data = $hours.' hour ago'; 
    } 
    else { 
     $data = "few seconds ago"; 
    }   

    return $data; 
} 

und wählen Sie die folgende Anweisung

SELECT *,UNIX_TIMESTAMP() - datetime AS TimeSpent FROM `table_name`; 

$result=mysql_query($sql); 
while($rows=mysql_fetch_array($result)){ 

// Aufruf Funktion

$check = datefor($rows['datetime'], $rows['TimeSpent']);} 

jetzt mit echo $ überprüfen; Wo soll die Uhrzeit angezeigt werden?

0
<strong>So far, you have worked <?php 
$hours = floor($i/3600); 
$i -= 3600 * floor($i/3600); 
$minutes = floor($i/60); 
echo $hours; ?> hours and <?php echo $minutes; ?> minutes</strong> 

yep, es funktioniert.