Avatar billede weblance Nybegynder
04. april 2008 - 20:03 Der er 6 kommentarer og
1 løsning

Hvordan udregner man antal måneder mellem to specifikke datoer?

Hvis jeg har to dato "punkter", hvordan får jeg PHP til at udregne antal måneder mellem disse to punkter?

Eks.: 07.2007 - 03.2008 = 9 måneder.
Avatar billede haren Nybegynder
04. april 2008 - 22:16 #1
Skal det være helt præcist? Og hvordan får du tallet?
Hvis ikke du kan bruge dette, skal du lige opdele per punktum, så kan du :)

$month1 = 07;
$month2 = 03;
$year1 = 2007; # Skal altid være være mindre end nedenstående
$year2 = 2008;

$back = 12-$month1;

if($year1 == $year2) {

$result = $month1-$month2;

} elseif ($year1+1 == $year2 OR $year1-1 == $year2) {

$result = $back+$month2;

} elseif ($year1 < $year2) {

$result = $back+($year2-$year1)*12+$month2;

} else {

echo "Der opstod en fejl, prøv igen!";

}

echo $result = sqrt($result*$result);
Avatar billede arne_v Ekspert
05. april 2008 - 03:18 #2
Hvad gør den beregning som:

$result = ($year2 - $year1) * 12 + ($month2 - $month1);

ikke gør ?
Avatar billede arne_v Ekspert
05. april 2008 - 03:19 #3
Hvis begge måneder er inklusive (og det skal det for at få 9 som svar) så skal det være:

$result = ($year2 - $year1) * 12 + ($month2 - $month1) + 1;
Avatar billede haren Nybegynder
05. april 2008 - 09:59 #4
Korrekt, tror jeg har været lidt træt i går. Dit virker glimrende det der.
Avatar billede weblance Nybegynder
15. november 2008 - 11:23 #5
Arne, send venligst et svar så jeg kan lukke tråden!
Avatar billede arne_v Ekspert
15. november 2008 - 14:49 #6
svar
Avatar billede weblance Nybegynder
15. november 2008 - 14:52 #7
Tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester