Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 3 of 3
  1. #1
    Regular Coder
    Join Date
    Oct 2012
    Location
    mother land --india
    Posts
    164
    Thanks
    38
    Thanked 2 Times in 2 Posts

    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
    Last edited by nani_nisha06; 11-05-2012 at 01:54 PM.

  • #2
    God Emperor Fou-Lu's Avatar
    Join Date
    Sep 2002
    Location
    Saskatoon, Saskatchewan
    Posts
    16,987
    Thanks
    4
    Thanked 2,660 Times in 2,629 Posts
    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.

  • Users who have thanked Fou-Lu for this post:

    nani_nisha06 (11-05-2012)

  • #3
    Regular Coder
    Join Date
    Oct 2012
    Location
    mother land --india
    Posts
    164
    Thanks
    38
    Thanked 2 Times in 2 Posts
    Quote Originally Posted by Fou-Lu View Post
    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


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •