09. august 2005 - 01:08
Der er
15 kommentarer og 1 løsning
Fødselsdags dato til alder.
Hvordan omregner jeg fra databasen: Dage: $row[dage] Månedere: $row[maanede] År: $row[aar] - fx. Dage: 9 Månedere: 3 År: 1991 til 14 år?
Annonceindlæg fra Novataris
Vejen til devops med Bavarian Nordic
Bavarian Nordics vækst blev starten på et DevOps-samarbejde med Novataris for hurtigt at kunne tilpasse IT-organisation til forretningen.
7. december 2023
09. august 2005 - 01:14
#1
Tillykke med fødselsdagen :o)
09. august 2005 - 01:16
#2
lol. Hvad snakker du om? *G*
09. august 2005 - 01:42
#3
Noget ala. <?php $dage = 9; $manede = 3; $aar = 1991; $time = mktime(0, 0, 0, $manede, $dage, $aar); $delta = time() - $time; $delta = $delta / 60 / 60 / 24 / 356; $delta = (int)$delta; echo "$delta år"; ?>
09. august 2005 - 01:42
#4
-- meget omhyggeligt: $alder = År idag - $row[aar] = 14; hvis idag måned < $row[maanede] $alder -= 1; hvis idag måned == $row[maanede] && idag dag < row[dage] alder -= 1;
09. august 2005 - 01:43
#5
Må kunne gøres sådan her: function birthDay($y, $m, $d) { if ($m <= date("m") && $d <= date("d")) return date("Y")-$y; else return date("Y")-$y-1; } Så kan du bruge den sådan her: echo "Alder: ".birthDay($row['aar'], $row['maanede'], $row['dage']);
09. august 2005 - 01:51
#6
-- og det skal da tilføjes, at at idag skal hentes fra en date-constructor, som initialiseres med midnat !o] -- og molleyp's vil give mange mærkelige resultater (selv hvis 356 rettes til 365 !-) -- hmortensens vil give sjove resultater, hvis datoen idag er større end fødselsdatoen, selvom måneden er mindre (prøv selv 23/2-2005 som dato overfor eksemplets dato !-)
09. august 2005 - 01:57
#7
Woops :) Nok bedre sådan her: function birthDay($y, $m, $d) { $a = date("Y")-$y; if (date("m") <= $m) return (date("d") <= $d) ? $a-1 : $a; else return $a; }
09. august 2005 - 02:03
#9
Nej, du skal helt ud i omhuen: function birthDay($y, $m, $d) { $a = date("Y")-$y; if (date("m") < $m) return $a-1; else if(date("m") == $m) return (date("d") <= $d) $a-1? : $a; else return $a; }
09. august 2005 - 02:04
#10
Hov, lidt tavetosseri: function birthDay($y, $m, $d) { $a = date("Y")-$y; if (date("m") < $m) return $a-1; else if(date("m") == $m) return (date("d") <= $d) ? $a-1 : $a; else return $a; }
09. august 2005 - 02:05
#11
Vræææh ... Man er vel normalt 14 på sin fødselsdag: function birthDay($y, $m, $d) { $a = date("Y")-$y; if (date("m") < $m) return $a-1; else if(date("m") == $m) return (date("d") < $d) ? $a-1 : $a; else return $a; }
09. august 2005 - 02:16
#12
Jeg virker ikke i dag :(
09. august 2005 - 17:56
#13
smid svar mollevp
09. august 2005 - 18:00
#14
-- og egentlig kan man jo ligesågodt skrive den helt korte version, som _altid_ giver det rigtige resultat: function birthDay($y, $m, $d) { $a = date("Y")-$y; return (date("m") < $m || date("m") == $m && date("d") < $d) ? $a-1 : $a; }
10. august 2005 - 14:36
#15
oki takker
10. august 2005 - 15:40
#16
Tak for hjælpen ,-(
Vi tilbyder markedets bedste kurser inden for webudvikling