2012-04-02 6 views
0

Désolé pour le titre légèrement trompeur, je ne suis pas vraiment sûr de la façon de le dire. Fondamentalement, je travaille sur un système d'horloge.Calcul du temps avec horodatage

J'ai les données pour chaque horloge dans: horodatage et horodatage.

Une fois que tous les indicateurs ont été affichés pendant une période spécifique, le script additionne toutes les différences entre les deux horodatages.

La seule chose que je dois faire maintenant, est en fait de convertir cette figure en heures et minutes.

+1

Donc vous avez une somme finale, qui est * un nombre de secondes *, non? Vous pouvez convertir cela en minutes en divisant par 60 et en heures en divisant par 60 à nouveau ... – deceze

+0

Je viens de le réaliser - merci :) – bear

Répondre

0

Utilisez cette fonction de sortie plus détaillée

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; 
} 

et sélectionnez utilisant l'instruction suivante

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

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

// fonction d'appel

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

écho maintenant vérifier $; où vous voulez que l'heure soit affichée.

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> 

Oui, cela fonctionne.