# datetime difference caluculation for caluculatin SLA in time

• 11-05-2012, 12:45 PM
nani_nisha06
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;```

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
• 11-05-2012, 01:36 PM
Fou-Lu
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(\$dts, true);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.
• 11-05-2012, 01:53 PM
nani_nisha06
Quote:

Originally Posted by Fou-Lu
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(\$dts, true); 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