Hét vraag- en antwoordplatform van Nederland

Hoe kan je met PHP 2 datums met elkaar vergelijken en een error geven als er 4 weken verschil in zit?

Verwijderde gebruiker
13 jaar geleden
1.4K

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Het beste antwoord

Dat moet kunnen met de functie mktime(). Zie de bron.
Je zou dan iets kunnen doen als:

$vierwekenverder = mktime(0, 0, 0, date("m") , date("d")+28, date("Y"));

Voldoende of heb je meer info nodig? Bekijk in ieder geval de bron en de examples in de bron eens... Succes!
(Lees meer...)
Verwijderde gebruiker
13 jaar geleden
Verwijderde gebruiker
13 jaar geleden
Het is voor een reservering. De klant geeft 2 datums op. Als hier 4 weken verschil in zit moet er een melding komen. Ook moet het zo zijn dat als het een andere maand is, dit ook goed wordt berekent.
Ik krijg b.v. $_POST['begindatum'] en $_POST['einddatum']. De datumnotatie is: dd-mm-yyyy
Verwijderde gebruiker
13 jaar geleden
Hebbus! Danku. Heb het met strototime gedaan. date_default_timezone_set('UTC'); $aankomst = strtotime('01-12-2010');
$vertrek = strtotime('31-11-2011');
$secverblijf = $vertrek - $aankomst;
$dagenverblijf = $secverblijf / 60 / 60 /24;
echo $dagenverblijf;
if($dagenverblijf > '27')
{
echo 'te lang';
}
else
{
echo 'U bent welkom';
}
?>
Verwijderde gebruiker
13 jaar geleden
Graag gedaan! Succes ermee!

Andere antwoorden (2)

Een simpel stukje code:

if ((mktime(0,0,0,1,1,2010) - mktime(0,0,0,1,1,2009)) / 86400 > 40){trigger_error("te lang", E_USER_ERROR);}

of met een echo:

if ((mktime(0,0,0,1,1,2010) - mktime(0,0,0,1,1,2009)) / 86400 > 40){echo "te lang";}

mktime syntax: mktime(uur,min,sec,maand,dag,jaar)

Het delen door 86400 is omrekenen van seconden naar dagen.
(Lees meer...)
rose
13 jaar geleden
Ik heb een werkend script voor je gemaakt en hier geplaatst: http://www.plaatscode.be/140359/

Je kan hem helemaal naar je eigen wensen aanpassen.
(Lees meer...)
Verwijderde gebruiker
13 jaar geleden

Weet jij het beter..?

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

0 / 5000
Gekozen afbeelding