CodingForums.com

CodingForums.com (http://www.codingforums.com/index.php)
-   PHP (http://www.codingforums.com/forumdisplay.php?f=6)
-   -   Resolved datetime difference caluculation for caluculatin SLA in time (http://www.codingforums.com/showthread.php?t=281007)

nani_nisha06 11-05-2012 12:45 PM

datetime difference caluculation for caluculatin SLA in time
 
HI All,

As subject line says,

from the below I could successfully calculate days in to hours, time but I am able to calculate getting in to Minutes using below code.

Code:

//to claculate SLA
$datetime1=$date1; //first date
$datetime2=$date2; //second date
               
                define("SECONDS_PER_HOUR", 24*60*60);
        // Calculate timestamp
                $start = strtotime($datetime1);
                $stop = strtotime($datetime2);
        // Diferences
                $difference = $stop - $start;
                // Hours
                $hours = round($difference / SECONDS_PER_HOUR, 0, PHP_ROUND_HALF_DOWN);
                $hourmul=($hours*24);

                // Minutes
                $minutes = ($difference/ SECONDS_PER_HOUR);
                $minmul= round(($minutes/60));
                // Seconds
                $seconds = ($difference % SECONDS_PER_HOUR) / 60;
                $secmul= round(($seconds/60));
                $var= $hourmul. ":" .$minmul. ":" .$secmul;

please help to complete this function my desire output should be, for example.

Start date = 05-11-2012 23:15:00
end date= 06-11-2012 01:15:00

output should be 2:00:00 of time.

can any one help me ???

Regards,
nani

Fou-Lu 11-05-2012 01:36 PM

Why not just use a DateInterval:
PHP Code:

date_default_timezone_set('UTC');

$dts = new DateTime('05-11-2012 23:15:00');
$dte = new DateTime('06-11-2012 01:15:00');

$di $dte->diff($dtstrue);
print 
$di->format('%H:%I:%S'); 

The object properties can be inspected as well to see what to show. If its <> 0, then its different in some way shape or form, so you can tack on things like years and months systematically this way.

nani_nisha06 11-05-2012 01:53 PM

Quote:

Originally Posted by Fou-Lu (Post 1288748)
Why not just use a DateInterval:
PHP Code:

date_default_timezone_set('UTC');

$dts = new DateTime('05-11-2012 23:15:00');
$dte = new DateTime('06-11-2012 01:15:00');

$di $dte->diff($dtstrue);
print 
$di->format('%H:%I:%S'); 

The object properties can be inspected as well to see what to show. If its <> 0, then its different in some way shape or form, so you can tack on things like years and months systematically this way.

Thanks Fou-Lu,

This was a very simple logic but I was writing all different though of mine which took this all time.....need be more smart & sharp thinker from the next case....

even I have tried above code my self twice but was doing silly mistake make me open this ticket...

Thanks for you help...

Regards,
Nani


All times are GMT +1. The time now is 10:05 PM.

Powered by vBulletin®
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.