[PHP] DateU van 1e dag en laatste dag van een maand

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • GewoonNico
  • Registratie: April 2003
  • Laatst online: 15-09 23:41
Hallo Tweakers,

Ik ben bezig met een nieuwsscript, hierbij heb ik ook een nieuwsarchief gemaakt.
Wanneer iemand op nieuwsarchief klikt kunnen ze een maand selecteren.

Nu wil ik alle berichten uit die maand uit de database halen (De berichten zijn met DATE("U") opgeslagen)
Ik wilde dit doen door de dateU van de 1e dag van die maand te bepalen en de laatste. Hoe moet ik dit doen?

Ik heb het volgende geprobeerd:

$min = date("U",mktime(0,0,0,$_GET[month],01,$_GET[year]));
$max = date("U",mktime(0,0,0,$_GET[month],31,$_GET[year]));

vervolgens plaats ik een test echo..

echo("$min (".date("l d-F-Y H:i:s",$min).")
<br>$max (".date("l d-F-Y H:i:s".$max).")");

en de uitkomst is dit wanneer ik de maand april 2003 pak

1049148000 (Tuesday 01-April-2003 00:00:00)
1049234400 (Monday 26-May-2003 23:03:581049234400)

Kan iemand me helpen om de juiste einddatum te krijgen ? (Dus 30 April-2003 )

Acties:
  • 0 Henk 'm!

  • GewoonNico
  • Registratie: April 2003
  • Laatst online: 15-09 23:41
Probleem is al opgelost,

ik had een typefoutje... ( . in plaats van , )

Acties:
  • 0 Henk 'm!

  • DizzyWeb
  • Registratie: Februari 2001
  • Laatst online: 05-09 14:30

DizzyWeb

Ondertiteld

echo $min . " (" . date("l d-F-Y H:i:s", $min) . ")
<br>" . $max . " (" . date("l d-F-Y H:i:s", $max) . ")";

Dr stond ergens een . ipv een , :)

En, de laatste dag van de maand is niet standaard de 31e. Het is wel standaard de -1e van de volgende maand!!

$max = date("U",mktime(0,0,0,$_GET[month] + 1, -1 ,$_GET[year]));

Tenminste, dat meen ik me te herinneren, staat ook wel in de docs bij date (http://nl.php.net/date)

Acties:
  • 0 Henk 'm!

  • GewoonNico
  • Registratie: April 2003
  • Laatst online: 15-09 23:41
dat probleem heb ik als volgt opgelost:

code:
1
2
    $min = date("U",mktime(0,0,0,$_GET[month],01,$_GET[year]));
    $max = date("U",mktime(23,59,59,$_GET[month],date("t",$min),$_GET[year]));


Voor als iemand het stukje script zoekt