07. september 2008 - 14:52
Der er
4 kommentarer og 1 løsning
Difference mellem 2 datoer (php)
Hejsa. Jeg har $idag som er date("Y-m-d"); og $row['dato'] som er samme format. Det jeg skal nu er at finde differencen mellem de 2 dage. F.eks: $idag = 2008-09-07 $row['dato'] = 2008-09-06 Der er så 1 dags difference. Jeg forsøgte at gøre flg: $days = $idag - $row['dato']; Men får blot returneret et 0. Nogle ideer? Mange tak
Annonceindlæg fra Barco
08. september 2008 - 09:27
#3
Fandt en kode på nettet, og rettede lidt: <? /* evt: $explodedate = explore("-",$row[dato]"); $db_dag = $explodedate[2]; $db_maanede = $explodedate[1]; $db_aar = $explodedate[0]; Men ville være meget lettere, hvis det du gemte i databasen var time(). Hvis du plusser nogle dage til osv inden du gemmer det, kan du bruge: strtotime("now +2 days"); f.eks. Så kan du hente det til variabler vha.: $db_dag = date("d",$row[dato]); etc. */ $db_dag = 6; $db_maanede = 9; $db_aar = 2008; $nu_dag = 7; $nu_maanede = 9; $nu_aar = 2008; //Så kører koden selv.. Ret selv printet til det du vil have.. $db_maanede_max = date ("t",mktime (0,0,0,$db_maanede,$db_dag,$db_aar)); $db_dag_diff = $db_maanede_max - $db_dag; $db_maanede_diff = 12 - $db_maanede - 1; $start_day = 1; $start_mon = 1; $start_yr = $db_aar + 1; $day_diff = ($nu_dag - $start_day) + 1; $mon_diff = ($nu_maanede - $start_mon) + 1; $yr_diff = ($nu_aar - $start_yr); $day_diff = $day_diff + $db_dag_diff; $mon_diff = $mon_diff + $db_maanede_diff; if ($day_diff >= $db_maanede_max) { $day_diff = $day_diff - $db_maanede_max; $mon_diff = $mon_diff + 1; } if ($mon_diff >= 12) { $mon_diff = $mon_diff - 12; $yr_diff = $yr_diff + 1; } print "The difference between <b>".$db_aar."-".$db_maanede."-".$db_dag."</b> "; print "and <b>".$nu_aar."-".$nu_maanede."-".$nu_dag."</b> is:"; print "<br><br>"; $years = "years"; $days = "days"; if ($yr_diff == "1") $years = "year"; if ($day_diff == "1") $days = "day"; print $yr_diff." ".$years.", "; print $mon_diff." month and "; print $day_diff." ".$days; ?> Husk at datoerne skal være UDEN leading zero, f.eks. januar er IKKE 01, men 1. ellers virker systemet ikke.
08. september 2008 - 17:06
#4
coderdk, din første post var det jeg endte med at bruge.. Ved ikke om det er smart, men det virker som det skal :D Så ligger du ikke et svar? Ellers tak for svarene