2 datums vergelijken en het verschil aan dagen tellen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Roy Oonk

Roy Oonk

28/10/2009 16:22:00
Quote Anchor link
Ik heb twee datums en ik wil deze nu vergelijken
met elkaar op hoeveel dagen er tussen zit.
b.v. datum 01 = 29-11-2009
en datum 02 = 03-12-2009

Hoe kan ik hier een script voor maken zodat ik de dagen kan tellen?

iemand een idee.

mvg
Roy Oonk
 
PHP hulp

PHP hulp

18/11/2024 01:46:28
 
Koen

koen

28/10/2009 16:24:00
Quote Anchor link
als het goed is kan je de datums van elkaar aftrekken.
datumnu - datumtoen = verschil
 
- SanThe -

- SanThe -

28/10/2009 16:28:00
Quote Anchor link
Sorry, maar je hebt geen 2 datums, maar 2 teksten. Een datum is altijd in het format YYYY-MM-DD.
 

28/10/2009 17:47:00
Quote Anchor link
koen schreef op 28.10.2009 16:24:
als het goed is kan je de datums van elkaar aftrekken.
datumnu - datumtoen = verschil

Neehee, dat gaat niet.
Jij gaat dus dit doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$datum1
= '20-10-2009';
$datum2 = '1-11-2009';
var_dump($datum2 - $datum1);
?>

Weet je wat dat oplevert? 19.
Dat klopt niet hé, het moet twaalf zijn. Weet je waarom niet? Omdat die strings als integers worden getypecast.
Laten we eens kijken wat d'r uit komt als we het typecasten:
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
$datum1
= '20-10-2009';
$datum2 = '1-11-2009';
var_dump((int) $datum2, (int) $datum1);
# levert:
/* int(1)
int(20) */
[/code]
Op zich wel logisch, maar het klopt dus niet met de datums.
Ook klopt het niet als je het uit een database trekt.
Vandaag (28-10-2009) min 20-10-2009
Dan krijg je namelijk 20091008082308, je kunt het ook niet casten.
Met php gebruik je gewoon [php]datetime.diff[/php].
Als je via een database werkt gebruik je datediff().
 
Roy Oonk

Roy Oonk

28/10/2009 18:30:00
Quote Anchor link
SanThe schreef op 28.10.2009 16:28:
Sorry, maar je hebt geen 2 datums, maar 2 teksten. Een datum is altijd in het format YYYY-MM-DD.


Maar als ik ze dan andersom zet YYYY-MM-DD, hoe kan ik dan het verschil in dagen zien?

Groet Roy
 



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.