2012-11-20 6 views

Répondre

2

Votre résultat attendu serait 16:45:00 pour l'exemple donné, non? Donc, vous voulez faire la différence entre les deux dates données en heures: minutes: secondes.

<?php 
    //initial strings 
    $ts='2011-04-13 23:00:00'; 
    $ts1='2011-04-14 15:45:00'; 

    //converting to time 
    $start = strtotime($ts); 
    $end = strtotime($ts1); 

    //calculating the difference 
    $difference = $end - $start; 

    //calculating hours, minutes and seconds (as floating point values) 
    $hours = $difference/3600; //one hour has 3600 seconds 
    $minutes = ($hours - floor($hours)) * 60; 
    $seconds = ($minutes - floor($minutes)) * 60; 

    //formatting hours, minutes and seconds 
    $final_hours = floor($hours); 
    $final_minutes = floor($minutes); 
    $final_seconds = floor($seconds); 

    //output 
    echo $final_hours . ":" . $final_minutes . ":" . $final_seconds; 
?> 

Ceci me donne des résultats corrects. J'espère avoir votre problème!

+0

Mais j'utilise la variable $ ts = $ UpT; $ ts1 = $ DownT; au lieu de 2012-11-18 03: 00: 05- 2012-11-05 12:46:13 il montre le résultat 0: 0: 0 –

+0

Eh bien, vous n'avez pas mentionné cela dans votre question. Quel est le contenu de $ UpT et $ DownT? Est-ce une chaîne comme dans les exemples? –

+0

oui c'est pareil $ UpT = 2012-11-18 03:00:05 et $ DownT = 2012-11-05 12:46:13 –

Questions connexes