[php] Werkt dit datum-bereken scriptje goed?

Pagina: 1
Acties:
  • 63 views sinds 30-01-2008

  • sab
  • Registratie: Juli 2001
  • Laatst online: 12-05-2025
Ik ben een site voor iemand aan het automatiseren, en als onderdeel daarvaan moet ik weten hoeveel jaar en maanden zijn zoontje (Naam geretoucheerd ;-)) is. Maar ik heb het sterke vermoeden dat het nog niet klopt. En aangezien met data rekenen niet mijn sterkste kant is hoopte ik dat iemand dit voor mij kon verifiëren.

Bij voorbaat dank.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?
  $birth_day =28; $birth_month=9; $birth_year = 2002;
  $now_day = date("j"); $now_month=date("n"); $now_year=date("Y");

  $age_months = 0; $age_years=0; $age_days = 0; //In den beginnen, was niemand geboren

  //Hoeveel jaar kunnen we ophogen zonder dat we 'Nu' overschrijden?
  while(mktime(0, 0, 0, $birth_month, $birth_day, $birth_year+$age_years+1)<time()) { 
    $age_years++;
  }
  
  //Hoeveel maanden kunnen we daarbij optellen zonder dat we 'Nu' overschrijden?
  while(mktime(0, 0, 0, $birth_month+$age_months+1, $birth_day, $birth_year+$age_years)<time()) { 
    $age_months++;
  }
  
  //En als laatste; hoeveel dagen?
  while(mktime(0, 0, 0, $birth_month+$age_months, $birth_day+$age_days+1, $birth_year+$age_years)<time()) { 
    $age_days++;
  }
  
  print "Henkie is nu $age_years jaar, $age_months maanden en $age_days dagen oud.";

?>

[ Voor 5% gewijzigd door sab op 16-03-2003 23:29 ]

eruditio ergo valesco


  • dreeke
  • Registratie: December 2000
  • Laatst online: 31-10-2025

dreeke

outdated icon

Heb je hem al uitgeprobeerd dan ?

Bij gebrek aan uw reclame staat hier mijn handtekening.


  • sab
  • Registratie: Juli 2001
  • Laatst online: 12-05-2025
Ja, en ik vind het moeilijk te geloven dat het nu 0 jaar, 5 maanden en 14 dagen na 28-9-02 is. En zoals ik al zei, data-rekenen is niet mijn sterkste kant.

eruditio ergo valesco


  • WOmBaT
  • Registratie: September 2000
  • Laatst online: 30-11-2025

WOmBaT

Nyaaa!!!

Zorg dan dat je ipv now een datum (en tijd) pakt die een jaar verder ligt dan z'n geboortedatum. Dan zou er toch 1 jaar, 0 maanden en 0 dagen uit moeten komen ;)

[ Voor 11% gewijzigd door WOmBaT op 16-03-2003 23:36 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Wat hier eerst stond was onzin..

Al ook op google gekeken?
http://bradchoate.com/past/000669.php

[ Voor 199% gewijzigd door gorgi_19 op 16-03-2003 23:39 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • sab
  • Registratie: Juli 2001
  • Laatst online: 12-05-2025
gorgi: dat was mn eerste idee ook, maar dan kom je met die narigheid van schrikkeljaren etc.

eruditio ergo valesco


  • sab
  • Registratie: Juli 2001
  • Laatst online: 12-05-2025
Laat maar, ik heb de fout al ontdekt...

Op de server:
sab@vmware:~$ date
Fri Mar 14 02:39:47 CET 2003

eruditio ergo valesco


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Mja, als 't ik zo even zie is het niet veel meer dan normaal denk / debugwerk ;)

en je systemtime goed instellen natuurlijk :X

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


  • Kees
  • Registratie: Juni 1999
  • Laatst online: 22-08 13:15

Kees

Serveradmin / BOFH / DoC
hmmjah, dat kan natuurlijk ook veel makkelijker:

PHP:
1
2
3
4
5
6
$leeftijd = mktime() - mktime(0,0,0,9,28,2002);

echo "Henkie is nu " . 
     (date('Y', $leeftijd) - 1970) . " jaar, " . 
     date('n', $leeftijd) . " maanden en " . 
     date('j', $leeftijd) . " dagen oud.";

[ Voor 4% gewijzigd door Kees op 17-03-2003 09:15 . Reden: layout fuckup verholpen ]

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan

Pagina: 1

Dit topic is gesloten.