View Full Version : difference between start date and time, ending date and time

01-16-2004, 04:56 PM
What would be the best way to calculate the difference between a start date and time and an ending date and time. Would like to display the number of days, hour, minutes and seconds. Any code examples or links to articles and tutorials would be appreciated. Thank you.

01-16-2004, 05:20 PM
would these times be a constant or virtual time

01-16-2004, 05:26 PM
They come from a MySql database file that is updated by a Help Desk application. Among other things it stores date and time a support request was created and date and time it was completed. The format for the date is YYYYMMDD and time is HHMMSS. The "created" date is separate from the "created" time and the same for completed. Hope this gives a better explanation. If you could point me to some examples or tutorials that would be great. Thank you.

01-16-2004, 05:51 PM
I did find this one over at the fourms at PHP Builder. I should be able to incorporate it into my existing code to do what I want. Thank you for your help.

function date_diff($first_date,$first_time,$second_date,$second_time)
// Author: Tone.
// Date : 15-12-2003.

// Ref: Dates go in "12 31 2003".
// Ref: Times go in "12 59 13".

// Splits the dates into parts, to be reformatted for mktime.
$first_date_ex = explode(" ",$first_date);
$first_time_ex = explode(" ",$first_time);
$second_date_ex = explode(" ",$second_date);
$second_time_ex = explode(" ",$second_time);

// makes the dates and times into unix timestamps.

$first_unix = mktime($first_time_ex[0],$first_time_ex[1],$first_time_ex[2],$first_date_ex[0],$first_date_ex[1],$first_date_ex[2]);
$second_unix = mktime($second_time_ex[0],$second_time_ex[1],$second_time_ex[2],$second_date_ex[0],$second_date_ex[1],$second_date_ex[2]);

// Gets the difference between the two unix timestamps.
$timediff = $first_unix-$second_unix;

// Works out the days, hours, mins and secs.

// Returns a pre-formatted string. Can be chagned to an array.
return $days." days, ".$hours." hours, ".$mins." mins, ".$secs." secs.";
echo date_diff( '01 16 2004','09 10 00','01 16 2004','09 11 00' ) ;

01-16-2004, 07:59 PM
looks good to me, good luck :thumbsup:

01-17-2004, 12:00 AM
if both dates come from the MySQL database then you should be able to use MySQL's built in functions for dat and time processing: