Avatar billede NielsErikP Mester
06. juli 2011 - 22:16 Der er 9 kommentarer og
1 løsning

Foranstillet "0" i getdate() ???

Hej...
Jeg er ved at prøve at udskrive klokken, sådan at når klokken passere 24.00 foranstilles et nul, men det vil ikke rigtigt lykkes... Er der nogen der kan fortælle mig, hvorfor følgende kode ikke lykkes, den foranstiller også ved kl.22.06.05, der udskriver den 022.6.5....

kode:


else{
                $dato_array=getdate();           
                $dato = $dato_array["mday"] . "/" . $dato_array["mon"] . " - " . $dato_array["year"];
                if ($dato["hours"] < 10) {
                    $tid = "0" .$dato_array["hours"] . ":" . $dato_array["minutes"] . ":" . $dato_array["seconds"];
                } else {
                    $tid = $dato_array["hours"] . ":" . $dato_array["minutes"] . ":" . $dato_array["seconds"];
                }



Håber der er en "HardCore" der kan rette en nybegynder indenfor PHP.

På forhånd tak..!!
Avatar billede kjeldsted Novice
06. juli 2011 - 22:22 #1
Hvorfor ikke blot benytte følgende:
$tid = date('H:i:s');
Avatar billede kjeldsted Novice
06. juli 2011 - 22:25 #2
Og hvis du også vil have dato m.m. med, kan du tage et kigge på http://www.php.net/date med hvordan du kan formatere strengen.
Avatar billede NielsErikP Mester
06. juli 2011 - 22:34 #3
Hej..
Okay.. Output fra Getdate() kan altså ikke formatteres...??
For det virker jo åbenbart ikke at spørge ("HVIS $dato_array["hours"] < 10 SÅ....").
Avatar billede kjeldsted Novice
06. juli 2011 - 22:46 #4
Jo, altså det burde jo virke. Og eftersom jeg ikke lige kunne finde fejlen foreslog jeg blot en løsning med meget mindre kode :)
Avatar billede NielsErikP Mester
07. juli 2011 - 00:33 #5
Hej...
Ja... Det burde virke ifølge logikken. Nu har jeg prøvet at sætte IF-sætningen til ($dato_array["hours"] < 10). Men kan ikke rigtigt få det til at følge logikken...Men det er både timer og minutter og sekunder, der skal tjekkes på 10, begge har to udfald over og under... Det bliver en H....... masse IF-Sætninger og nogle snørklede nogen af slagsen.
Den DATE, kan den gemmes i en MySQl database....???
Avatar billede kjeldsted Novice
07. juli 2011 - 00:39 #6
Nu findes der en nemmere måde at lave en sådan if sætning med én if og én else:
$hours = ($$dato_array["hours"] < 10) ? '0'.$$dato_array["hours"]  : $$dato_array["hours"] ;


Og, ja, da. Men date() får du præcis samme resultat som du ønsker (hvis ikke jeg har misforstået noget). Fylder bare lidt mindre.
Avatar billede kjeldsted Novice
07. juli 2011 - 00:41 #7
(Lige bortset fra der ikke skal være to stk. $ ved hvert array).

Men den betyder $hours skal være lig (hvis $array_hours er under ti) 0+$array_hours ellers $array_hours;
Avatar billede NielsErikP Mester
08. juli 2011 - 01:07 #8
Hej...
Kjeldsted...Du løste problemet i #6, ved at fortælle mig lidt om generel IF programmering, Skabte tre variable "Shours, $minut, $sec", som jeg satte lig med " ?  : ".. og så variablen $tid = De tre variable for timer, minutter og seconder.
Så virkede det fint med getdate(). Undrer mig, hvorfor det er tegn IF'en der skal bruges for at den tjekker betingelsen rigtigt. Nå pyt. jeg fik en løsning.
Så Kjeldsted læg et svar.
Og tusind tak for hjælpen..!!

Take Care..!!
Avatar billede kjeldsted Novice
09. juli 2011 - 03:11 #9
Godt det hjalp :) Og det var så lidt.

Det er faktisk en super dejlig IF sætning af kunne og den kan også benyttes i fx C-programmerings sprog. Så den er ikke dum at lære at kende.
Avatar billede NielsErikP Mester
09. juli 2011 - 11:56 #10
Hej..
Her er point!!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester