TIMESTAMP abd date diff
Posted: Tue Feb 03, 2004 5:15 pm
i have to do a date different between two dates....
and my data type is in TIMESTAMP....
i try to do this:
but sometimes it gives me unreasonable output such as negative value...
and then i found this script:
but this one is giving me more unreasonable value....
can anyone help me to do date diff with TIMESTAMP datatype???
and my data type is in TIMESTAMP....
i try to do this:
Code: Select all
function tarikh($format,$mytimestamp)
{
$month = substr($mytimestamp,4,2);
$day = substr($mytimestamp,6,2);
$year = substr($mytimestamp,0,4);
$epoch = mktime(0,0,0,$month,$day,$year);
$date = date ($format, $epoch);
return $date;
}
$diff1=tarikh("m/d/Y",$bd["waktuMula"]);
$diff2=tarikh("m/d/Y",$bd["tarikhAduan"]);
$beza=$diff1-$diff2;and then i found this script:
Code: Select all
<?php
/*T.E.
07-Jan-2004 04:15
Most functions calculating the difference in days between two days take some assumptions. They often ignore leap-years or decide to set a month to 30 days. This one here should work better and more precise.
I left one thing to fix: I supposed a leap in every four years. This assumption is wrong when passing a xx00-border, if xx00 mod 400 != 0. However, PHPs date-function won't work with 1900 or less and 2100 or more. So for the next few years within the given boarders of PHP, this one should work.*/
function date_diff($dat1,$dat2)
/* Dat1 and Dat2 passed as "YYYY-MM-DD" */
{
$tmp_dat1 = mktime(0,0,0,
substr($dat1,5,2),substr($dat1,8,2),substr($dat1,0,4));
$tmp_dat2 = mktime(0,0,0,
substr($dat2,5,2),substr($dat2,8,2),substr($dat2,0,4));
$yeardiff = date('Y',$tmp_dat1)-date('Y',$tmp_dat2);
/* a leap year in every 4 years and the days-difference */
$diff = date('z',$tmp_dat1)-date('z',$tmp_dat2) +
floor($yeardiff /4)*1461;
/* remainder */
for ($yeardiff = $yeardiff % 4; $yeardiff>0; $yeardiff--)
{
$diff += 365 + date('L',
mktime(0,0,0,1,1,
intval(
substr(
(($tmp_dat1>$tmp_dat2) ? $dat1 : $dat2),0,4))
-$yeardiff+1));
}
return $diff;
}
?>can anyone help me to do date diff with TIMESTAMP datatype???