waarom neemt de datum een loopje met me?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marina janssen

marina janssen

05/03/2016 20:50:38
Quote Anchor link
Als ik de datum op vandaag zet, klopt hij maar als ik hem eerder zet (zie hieronder) geeft hij verkeerde antwoord. Maar waarom?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

$start
=strtotime("-1 month");
echo date("d/m/Y", $start). "<br>";

$end = strtotime("+2 weeks",$start);
echo date("d/m/Y", $end);
$vandaag=date("d/m/Y");
 if ($vandaag > $end){ echo "overdedatum" ; }
 else { echo "tenminste houdbaar tot:" . date("d/m/Y",$end);}


?>
 
PHP hulp

PHP hulp

05/12/2024 03:16:16
 
Ben van Velzen

Ben van Velzen

05/03/2016 20:56:20
Quote Anchor link
De vergelijking die je doet kan geen correct antwoord geven omdat een alfabetische sortering niet gaat werken. Als je vergelijkt op Ymd gaat het beter, maar nog beter is het om gewoon de unix timestamp te gebruiken die strtotime teruggeeft.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

05/03/2016 21:43:29
Quote Anchor link
Niet helemaal correct Ben. De vergelijking probeert een string te vergelijken met een integer. In $vandaag staat namelijk een string als "01/03/2016" terwijl in $end een Unix timestamp staat, bijvoorbeeld "1457210152".

De oplossing is dus om van $vandaag ook een timestamp te maken.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php

$start
   = strtotime('-1 month');
$end     = strtotime('+2 weeks', $start);
$vandaag = strtotime('now');

echo 'startdatum: '    . date('d/m/Y', $start)   . '<br>';
echo 'einddatum: '     . date('d/m/Y', $end)     . '<br>';
echo 'huidige datum: ' . date('d/m/Y', $vandaag) . '<br>';

if($vandaag > $end) {
    echo 'overdedatum';
}
else {
    echo 'tenminste houdbaar tot: ' . date('d/m/Y', $end);
}

?>
Gewijzigd op 05/03/2016 21:47:09 door Frank Nietbelangrijk
 
Marina janssen

marina janssen

05/03/2016 23:53:00
Quote Anchor link
aha dank
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.