Avatar billede flodhesten Nybegynder
10. april 2010 - 17:20 Der er 6 kommentarer og
2 løsninger

Dage mellem datoer

Hejsa.

Jeg tænkte på om man kunne få vist hvilke dage der er mellem 2 forskellige datoer?

For eks. fra 30. april 2010 til 3. maj 2010

Der vil der jo være:

- 30. april
- 1. maj
- 2. maj
- 3. maj

Kan man gøre det på nogen måde? eventuelt samle det i et array?

Hav en god lørdag.
Avatar billede amite Mester
10. april 2010 - 18:41 #1
Ja, det kan man godt - f.eks....

<?php
  $str_dagX = "2010-09-25";
  $str_dagY = "2011-01-06";

  $arr_dagXarr = explode("-", $str_dagX);
  $arr_dagYarr = explode("-", $str_dagY);

  $dagX = mktime(0,0,0,$arr_dagXarr[1],$arr_dagXarr[2],$arr_dagXarr[0]);
  $dagY = mktime(0,0,0,$arr_dagYarr[1],$arr_dagYarr[2],$arr_dagYarr[0]);

  $dagTotal = floor(($dagY - $dagX)/(60*60*24));
 
  $arr_dage = array();
 
  for($i=0; $i<$dagTotal; $i++){
    $arr_dage[$i] = date('j M Y', mktime(0,0,0,$arr_dagXarr[1],$arr_dagXarr[2]+$i,$arr_dagXarr[0]));
  }
 
  print_r($arr_dage);
?>
Avatar billede showsource Seniormester
10. april 2010 - 18:44 #2
Hvis du bruger standarddato format:

<?php
$daget = "2010-04-30";
$dagto = "2010-05-03";

$firstday = strtotime($daget);
$lastday = strtotime($dagto);

$alldays = 0;

for($i = $firstday; $i <= $lastday; $i +=86400) {
echo date("d/m Y", $i)."<br />";

$alldays++;
}

echo $alldays;
?>
Avatar billede showsource Seniormester
10. april 2010 - 18:48 #3
har du testet, amite ? :O)
Avatar billede showsource Seniormester
10. april 2010 - 18:50 #4
Bortset fra det, er der også DATEDIFF() i mysql
Avatar billede amite Mester
10. april 2010 - 18:57 #5
ha, ja - snedigt :p
Avatar billede showsource Seniormester
10. april 2010 - 19:03 #6
Njahh, det er vist mere php som er snedigt :O)

Og dit ex. virker såmænd, omend der er flere dage end efterspurgt !
Avatar billede flodhesten Nybegynder
10. april 2010 - 21:24 #7
Tak for løsningen begge. Foreslår at dele pointene lige mellem jer - lyder det urimligt?
Avatar billede showsource Seniormester
11. april 2010 - 07:14 #8
Fint nok
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