[PHP] datum, mktime en ermee rekenen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Volgens mij doe ik ergens iets doms maar ik zie niet waar
PHP:
1
2
3
4
5
6
7
8
9
10
11
for($i=1; $datumvan[$i]; $i++) {
        list($dagv, $maandv, $jaarv) = split("-", $datumvan[$i]);
        list($dagt, $maandt, $jaart) = split("-", $datumtot[$i]);
        $epochvan = mktime(0,0,0,$dagv,$maandv,$jaarv);
        $epochtot = mktime(0,0,0,$dagt,$maandt,$jaart);
        if (($vandaag >= $epochvan) && ($vandaag < $epochtot)) {
                echo "[img]\"$datumimg[$i]\"[/img]";
                die();
        }
        echo "$epochvan is groter of gelijk aan $vandaag en $vandaag is kleiner dan $epochtot <br>";
}


Dit geeft dit weer
1071183600 is groter of gelijk aan 1039455150 en 1039455150 is kleiner dan 1076540400
en dat klopt ook, maar toch gaat er iets mis bij die if statement omdat hij niet de code van het plaatje print. Wat doe ik fout?

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Probeer ze eens te casten.
PHP:
1
if ( (int)$vandaag >= (int)$epochvan && (int)$vandaag < (int)$epochtot)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Helaas, probleem blijft...

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

waar definieer je '$vandaag' ? Doe je dat gewoon met time()?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ja

PHP:
1
$vandaag = time();

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier


Kijk es goed naar die getallen :)
$vandaag valt iig niet tussen die van en tot...

[ Voor 34% gewijzigd door ACM op 09-12-2002 18:51 ]


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

hmm
int mktime ( int hour, int minute, int second, int month, int day, int year [, int is_dst])
en
PHP:
1
2
$epochvan = mktime(0,0,0,$dagv,$maandv,$jaarv); 
$epochtot = mktime(0,0,0,$dagt,$maandt,$jaart);
Wat klopt er niet aan dit plaatje?

edit:

Sterker nog:
Warning: Note the strange order of arguments, which differs from the order of arguments in a regular UNIX mktime() call and which does not lend itself well to leaving out parameters from right to left (see below). It is a common error to mix these values up in a script.

[ Voor 37% gewijzigd door drm op 09-12-2002 18:57 ]

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Opgelost, thx! Was dus inderdaad een stomme fout... :)
Pagina: 1