dateTime() problem med at vise alder

Tags:    php

Hej

Jeg sidder og roder med dataTime() som jeg skal bruge til at vise en brugers alder og jeg er løbet ind i et problem, da dateTime højst tager to argumenter eller parameter - øhh, ja, jeg roder lidt rundt i begreberne, men mon ikke i forstår det alligevel.

Fold kodeboks ind/udHTML kode 


og her er php koden

Fold kodeboks ind/udPHP kode 


Fejlmeddelelsen ser således ud:

Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct() expects at most 2 parameters, 3 given' in C:\xampp\htdocs\intro_opgaver_date_time\date_time_opgave1\code_php\code_time.php:13 Stack trace: #0 C:\xampp\htdocs\intro_opgaver_date_time\date_time_opgave1\code_php\code_time.php(13): DateTime->__construct('22', '01', '1972') #1 {main} thrown in C:\xampp\htdocs\intro_opgaver_date_time\date_time_opgave1\code_php\code_time.php on line 13

Spørgsmål:

Hvordan får jeg mine tre argumenter/parametere ind i $birthday = new DateTime($day,$month,$year); ?



Indlæg senest redigeret d. 03.03.2014 23:00 af Bruger #16670
6 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Altså det første parameter skal være angivet som valid tids format: http://dk1.php.net/manual/en/datetime.formats.date.php

Se gerne contructoren af objektet:
http://dk1.php.net/manual/en/datetime.construct.php


Måske prøve:

Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 03.03.2014 23:33 af Bruger #7728
Altså det første parameter skal være angivet som valid tids format: http://dk1.php.net/manual/en/datetime.formats.date.php

Se gerne contructoren af objektet:
http://dk1.php.net/manual/en/datetime.construct.php


Måske prøve:

Fold kodeboks ind/udPHP kode 




Hej

Tak for hjælpen - nu virker det :D

Der var dog lige en mindre detalje med nogle (') og (") som jeg heller ikke lige havde styr på:

Fold kodeboks ind/udPHP kode 


Jeg er glad for at se, at jeg næsten havde lavet det rigtigt selv, men er lidt uforstående overfor, hvorfor det virker nu !! ?

Jeg havde jo fået en fejlmeddelelse om at dateTime() kun kan tage højst 2 parametere, men det ser da ud til at jeg bruger 3 ($year, $month og $day) !

Nå, men måske skal jeg ikke bruge tid på at funderer så meget over det lige nu, men derimod bare øve mig mere (meget mere !)

Endnu engang tak for hjælpen




Nej den bruger kun en.

$time = $year . '-' . $month . '-' . $day;
Det er et parameter

Funktion(parameter1, parameter2);

Parameter deles ud fra et komma



Indlæg senest redigeret d. 04.03.2014 22:59 af Bruger #15663
Som Daniel skriver så er det jeg skrev jo kun det første parameter i constructoren..

Tror ikke helt du har forstået princippet, du kan forkorte din kode noget:

Fold kodeboks ind/udPHP kode 





Indlæg senest redigeret d. 05.03.2014 18:46 af Bruger #7728
Som Daniel skriver så er det jeg skrev jo kun det første parameter i constructoren..

Tror ikke helt du har forstået princippet, du kan forkorte din kode noget:

Fold kodeboks ind/udPHP kode 





@zynzz

Jeg er bekendt med at man kan skrive min kode i en kortere form, men jeg har bevidst fravalgt dette, da jeg er i gang med at lære hvordan det hele virker.

Omkring koden du viser, så er jeg lidt i tvivl om den vil virke - jeg har ikke testet det, men efter hvad jeg sådan lige umiddelbart kan se, så tror jeg linje 10 ( $yourAge = $birthday->diff($date); ) vil resultere i en fejl, da indholdet i $data ikke ser ud til at være/blive defineret nogen steder !

Ja, jeg skal absolut ikke sidde her og spille kloge Åge, men det er det jeg fornemmer når jeg ser på koden - mon jeg har ret i denne antagelse ?

Jeg vil gerne sige dig tak for dit seneste indlæg og for at pointere, at jeg kan skrive min kode lidt mere "raffineret".


Spørgsmål:







Hej Henrik, du har ret i dine antagelser, du er nød til at oprette dit andet objekt, for at se differencen mellem de 2 objekter..

Mig der var lidt hurtig på aftrækkeren, men hvad angår timezone, så er den god nok..



t