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.
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);
?>
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;
?>
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 !