Hoi... gister had ik een probleem namelijk ik had een geboorte datum en moest een leeftijd hebben... ik was te lui om een code te schrijven om uit te rekenen hoeveel dagen maanden en jaren die datum geleden was...
dus ik was opzoek gegaan, eerst op php.net bij date... alles wat met date te maken had door gelezen en ik dacht mijn oplossing te hebben gevonden.. mktime() nouja even mktime gebestudeert en kwam er achter dat het pas werkte van af t jaar 1970, probleem, je mag neit ouder zijn dan 33...
ik denken maar lui als ik was raadpleegde ik de search van got tot mijn verbazing hadden redelijk veel mensen deze vraag al eerder gesteld op t forum... topics doorgelezen etc maar geen een oplossing die me aanstond...
dus nog eens gaan denken ik bedacht dat als ik er nou voor zorg dat ik de leeftijd al in jaren heb dan heb ik tog ook geen probleem meer met mktime.... maar helaas bestaat het iets dat schrikkeljaar heet en die waren er al ver voor 1970
ik kon tog geen afstand nemen van dat idee dus ben ik maar gaan coden...
jaarnu-jaargeboorte=leeftijdinjaren probleem als je dit jaar nog jarig moet worden... om dat te kunnen bepalen moest ik gebruik maken van maanden
als maandnu-maandgeboorte kleiner is dan 0 dan leeftijdinjaren-1... logisch
ik door geborduurd op dat idee en kwam tot de conclusie dat als
maandnu-maandgboorte 0 is en als dagnu-daggeboorte 0 is dat je jarig bent als 1 van de 2 kleiner is dan 0 je nog jarig moet worden en groter dat je jarig bent geweest... dit is dus ook mijn oplossing...
ik denk dat deze oplossing al lang bekend is onder de evare coders maar voor die het toch willen weten is hier de code:
opzich niet zo'n geweldige doorbraak maar wel altijd handig om bij de hand te hebben ik hoop dat iemand er iets aan heeft
trouwens de code zal misschien nog wel korter kunnen, het is namelijk tijdens het coderen zelf ontstaan dus zonder voor bedachte plannen enzo, ik heb hem ook niet zitten checken op wat anders kan
goed is goed tog? trouwens ik heb een tik om engels en nederlands door elkaar te gebruiken 
grtz Dreamzilla
dus ik was opzoek gegaan, eerst op php.net bij date... alles wat met date te maken had door gelezen en ik dacht mijn oplossing te hebben gevonden.. mktime() nouja even mktime gebestudeert en kwam er achter dat het pas werkte van af t jaar 1970, probleem, je mag neit ouder zijn dan 33...
ik denken maar lui als ik was raadpleegde ik de search van got tot mijn verbazing hadden redelijk veel mensen deze vraag al eerder gesteld op t forum... topics doorgelezen etc maar geen een oplossing die me aanstond...
dus nog eens gaan denken ik bedacht dat als ik er nou voor zorg dat ik de leeftijd al in jaren heb dan heb ik tog ook geen probleem meer met mktime.... maar helaas bestaat het iets dat schrikkeljaar heet en die waren er al ver voor 1970
ik kon tog geen afstand nemen van dat idee dus ben ik maar gaan coden...
jaarnu-jaargeboorte=leeftijdinjaren probleem als je dit jaar nog jarig moet worden... om dat te kunnen bepalen moest ik gebruik maken van maanden
als maandnu-maandgeboorte kleiner is dan 0 dan leeftijdinjaren-1... logisch
ik door geborduurd op dat idee en kwam tot de conclusie dat als
maandnu-maandgboorte 0 is en als dagnu-daggeboorte 0 is dat je jarig bent als 1 van de 2 kleiner is dan 0 je nog jarig moet worden en groter dat je jarig bent geweest... dit is dus ook mijn oplossing...
ik denk dat deze oplossing al lang bekend is onder de evare coders maar voor die het toch willen weten is hier de code:
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
25
26
27
28
29
30
31
32
| function leeftijd($gebdate) { global $agejarig; global $agejaar; $vandaagd = date("d"); $vandaagm = date("m"); $vandaagy = date("Y"); $gebdate = explode("-", $row->gebd); $gebdated = $gebdate[0]; $gebdatem = $gebdate[1]; $gebdatey = $gebdate[2]; $v_nugebmaand = $vandaagm-$gebdatem; $v_nugebdag = $vandaagd-$gebdated; if (($v_nugebmaand == "0")&&($v_nugebdag == "0")) { $agejarig = "1"; $agejaar = $vandaagy-$gebdatey; } elseif ($v_nugebmaand < "0") { $agejarig = "0"; $agejaar = $vandaagy-$gebdatey-1; } elseif (($v_nugebmaand == "0") && ($v_nugebdag < "0")) { $agejarig = "0"; $agejaar = $vandaagy-$gebdatey-1; } else { $agejarig = "0"; $agejaar = $vandaagy-$gebdatey; }; return $agejaar; }; |
opzich niet zo'n geweldige doorbraak maar wel altijd handig om bij de hand te hebben ik hoop dat iemand er iets aan heeft
grtz Dreamzilla