Avatar billede Skynet Mester
04. marts 2018 - 14:08 Der er 1 kommentar og
2 løsninger

Tjek hvis dato string er inden for de seneste 2 mdr.

Hej

Jeg har en date-time picker i min webform hvor en dato kommer ind som "yyyy-mm-dd" hvordan tjekker jeg nemmest ved brug af PHP om denne dato er inden for de to seneste måneder?
Avatar billede arne_v Ekspert
04. marts 2018 - 16:12 #1
Til inspiration:


<?php
function test($dstr) {
    $dt = new DateTime($dstr);
    $now = new DateTime();
    $dtplus = $dt->add(new DateInterval('P2M'));
    return $dtplus->getTimeStamp() > $now->getTimeStamp();
}

echo test('2018-01-06') ? 'Y' : 'N';
echo test('2018-01-02') ? 'Y' : 'N';
?>
Avatar billede Rune1983 Ekspert
05. marts 2018 - 11:48 #2
Kunnde følgende være en mulighed.
<?php
function CheckDatoenMdr($datoen, $mdr) // $datoen = Datoen, $mdr = AntalMdrDerAccepteresTilbage
{
    $d1 = date_create($datoen);
    $datoenMdr = date_format($d1,"Y-m-d");
   
    $CurrentDate = date("Y-m-d");
    $MinusMonthTxt = "-$mdr months";
    $objDateTime = new DateTime($CurrentDate);
    $objDateTime->modify($MinusMonthTxt);
    $datoenMinusAntalMdr = $dato_til_string = $objDateTime->format('Y-m-d');
   
    if($datoenMdr >= $datoenMinusAntalMdr){
        print "INDENFOR dato *** Dato: $datoenMdr indenfor $mdr mdr. Skæringsdato er $datoenMinusAntalMdr<br />";
        print "<br />";
    }else{
        print "UDENFOR dato *** Dato: $datoenMdr indenfor $mdr mdr. Skæringsdato er $datoenMinusAntalMdr<br />";
        print "<br />";
    }
}
   
CheckDatoenMdr("2018-01-04", 2); // Udenfor dato
CheckDatoenMdr("2018-01-06", 2); // Indenfor dato
?>
Avatar billede Skynet Mester
08. marts 2018 - 14:34 #3
Super tak for hjælpen, - meget brugervenlig kodning.
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

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