Avatar billede Radiomidt Novice
30. november 2022 - 11:46 Der er 2 kommentarer

Fra Dato til Dato

Hejsa alle sammen

jeg har et lille problem
har en start dato i min database
format (d-m-Y) ft 30-11-2022
og en slut dato
format (d-m-Y) ft 02-12-2022

jeg skal så have den til i mellem de 2 datoer at vise sig på min side og uden for den dato at skule sig

jeg har prøvet flere ting uden det lykkes så håber meget nogle her inde har løsningen på mit problem

på forhånd tak for hjælpe og god jul til jer alle :D
Avatar billede arne_v Ekspert
30. november 2022 - 13:12 #1
Det må kunne gøres på mange måder.

Men mit forslag:


<?php

function in_between($ds1, $ds2) {
    $d1 = DateTime::createFromFormat('d-m-Y', $ds1);
    $d2 = DateTime::createFromFormat('d-m-Y', $ds2);
    $t = time();
    return $d1->getTimeStamp() <= $t && $t < $d2->getTimeStamp() + 24 * 60 * 60;
}

function test($ds1, $ds2) {
    $res = in_between($ds1, $ds2) ? "true" : "false";
    echo "$ds1 $ds2 => $res\r\n";
}

test('30-11-2022', '02-12-2022');
test('01-12-2022', '03-12-2022');
test('30-11-2022', '30-11-2022');

?>
Avatar billede Keld Broe Seniormester
22. januar 2023 - 17:22 #2
<?php

$startdato = DateTime::createFromFormat('d-m-Y', '30-11-2022');
$slutdato = DateTime::createFromFormat('d-m-Y', '02-12-2022');
$aktuelDato = new DateTime();

if ($aktuelDato >= $startdato && $aktuelDato <= $slutdato) {
    // Vis data på siden
    echo "Data er vist";
} else {
    // Skjul data
    echo "Data er skjult";
}

?>

Sørg for at inkludere klassen DateTime ved at skrive use DateTime; eller use DateTimeImmutable; øverst i din fil hvis det er nødvendigt.

Bemærk at koden her tager højde for aktuel dato, hvis du vil sammenligne med en specifik dato fra databasen, skal du ændre $aktuelDato = new DateTime(); til $aktuelDato = DateTime::createFromFormat('d-m-Y', $datoFraDb); hvor $datoFraDb er den dato du henter fra din database.
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