Datum berekenen d.m.v. modulo
Anyway, kan iemand mij de formule geven of uitleggen? Ik moet een variabele aanmaken met daarin 8 cijfers.
De indeling is dan zo: ddmmyyyy.
Deze waarden moet ik dan gebruiken om in de
variabelen te proppen. Ik mag alleen maar de divide (/) en de modulo (%) operators gebruiken. Ik geef toe, bizar.. Ik script al jaren in php maar ik kom hier echt niet uit.
Let op! Ik mag GEEN date of time functies gebruiken.
Als iemand me hiermee kan helpen? Graag!
Bedankt
Gewijzigd op 11/02/2012 15:54:39 door Dominique de Graaff
explode?
Bedankt, maar helaas dat mag niet. Ik mag alleen maar / en % gebruiken. Thats it. Ik heb al neergezet in het resultaat (voor het aftekenen) dat dit niet mogelijk is. Maar misschien is het wel mogelijk en sta ik daar met een mond vol tanden (betwijfel of de rest van m'n klas het gaat lukken hoor, daar niet van). Maar vandaar dat ik hier even kom polsen of jullie een oplossing weten?
Het komt waarschijnlijk door het weekeind maar ik snap je vraag niet helemaal. Je moet op basis van 14071987 in de variabele $date de huidige datum en tijd berekenen? En daarbij mag je alleen % en / gebruiken?
Of bedoeld je, in heb een timestamp en op basis daarvan moet ik drie variabelen vullen. Eentje met de datum, eentje met de dag en eentje met de tijd?
Niels
Gewijzigd op 11/02/2012 16:04:07 door Niels K
We zitten pas in blok 1, hoofdstuk 1 opdracht nummer 8. We hebben net leren "printen" van "hello world!". Vandaar dat ik dit zelf ook een hele bizarre opdracht vind. Ga er zeker wat van zeggen. Maar het kan natuurlijk ook zo zijn dat dit expres is gedaan zodat zij straks uit kunnen leggen dat het niet kan. Maarja ik vraag het liever eerst even om mij heen voordat ik meteen zeg: "het kan niet!".
edit 1:
Wil er trouwens wel even aan toevoegen dat ik al jaren php schrijf. Van OOP (hmvc structuren e.t.c.). Ik dacht: piece of cake voor dit vak, maar dan krijg je dus zo iets. Heel bizar :P.
edit 2:
Nee, geen timestamp.
Gewijzigd op 11/02/2012 16:08:21 door Dominique de Graaff
Wat moet het nu uiteindelijk worden? Mijn eerste, of mijn tweede antwoord? :-)
Daarnaast kan je met een timestamp gewoon rekenen? Je kan dat toch gewoon omzetten naar dagen / uren / seconden ? Ik zie het probleem niet echt?
Niels
Gewijzigd op 11/02/2012 16:09:54 door Niels K
Quote:
het slaat nergens op
Denk eens na wat je met / en % doet, en dan helemaal als je het met 10, 100, 1000 etc doet. Daar moet je toch wel uit kunnen komen.
Gewijzigd op 11/02/2012 16:11:40 door Niels K
Het eerste antwoord.
En Erwin H:
Nee, ik kom er niet uit, vandaar dat ik hier om hulp vraag. Ik weet dat je met / deelt en met % de rest van de deling krijgt. Maar dan nog, met alleen de uitleg die ik boven in geef moest ik het doen.
SanThe, werkelijk geniaal. Had ik nooit opgekomen.
En dat om hulp vragen begrijp ik prima, het probleem is alleen, als ik je ook maar een tip geef heb ik je probleem opgelost en leer jij er nog niets van.
Gewijzigd op 11/02/2012 16:21:21 door Niels K
Ik snap nu dat je het getal moet delen door 1000000 om de dagen te krijgen.
Dat je om de maand te krijgen die deling weer moet delen door 10000 (immers 071984 zijn tienduizenden. en de laatste spreekt voor zich.
Erwin,
Voor mij sloeg het nergens op omdat ik niet weet waar ik moet beginnen. Een klein voorbeeldje of een formule van de eerste som zou handig geweest zijn (in het boek!). Soms kom je er gewoon niet uit en dan vraag je het even. Ik kwam er niet uit.
Ik vraag nooit zomaar om oplossingen. Ik ben iemand die het liever zelf leert. De stap om het hier te vragen is daarom ook niet zomaar genomen. Wees daar maar niet bang om. Soms is een voorbeeldje juist een goede manier om te leren. Ik pluis die code dan uit. Maar ook een simpele formule in tekst (niet in script) was voor mij al goed. Dan had ik het als nog zelf moeten schrijven.
Bedankt in elk geval
Gewijzigd op 11/02/2012 16:17:00 door Dominique de Graaff
Ik heb heel even de code van SanThe weggehaald aangezien ik van mening ben dat je dit probleem toch echt zelf moet oplossen. Zoals je aangeeft programmeer je al jaren PHP dus dan moet dit niet al te moeilijk zijn.
Op basis van de tips van Erwin moet je dit (gemakkelijk) op kunnen lossen.
Veel succes!
Edit:
Ik zie dat je de code van SanThe toch gezien hebt. Jammer, maar niets aan te doen. Ik moet wel toegeven dat ansich voor een beginner een moeilijke opdracht is. Maar als je de werking van die operators snapt ben je wel een stap verder.
Niels
Gewijzigd op 11/02/2012 16:16:47 door Niels K
Ik heb de code niet gekopieerd. Dus ik kan er niet meer bij :). Maar het heeft me wel geholpen te begrijpen hoe je dit zou kunnen uitrekenen. Bedankt.
Hartstikke mooi, daar ging het ons om. Veel plezier met het uitleggen aan je andere klasgenoten ;-)
Fijn weekeind,
Niels
Met 123 % 10 krijg je de restwaarde als je 123 door 10 deelt. In dit geval is de restwaarde 3. En als je 123 / 10 doet krijg je een gewone deling. Oplossing zal 12.3 zijn. Daar moet je dus nog even een geheel getal van maken.
Niels Kieviet op 11/02/2012 16:26:34:
Round()
Je kan het ook met alleen modulo en delen operators doen. (ik weet niet of ik het script hier mag plaatsen dus doe het niet, en heb het script van Santhe niet gezien dus weet niet wat die had)
Goed dan schrijven ze maar gewoon 7041986 ipv 07041986.
@Wouter,
Klopt, ik ken het. round, floor en ceil ken ik ook ;)
Gewijzigd op 11/02/2012 16:38:20 door Dominique de Graaff
Natuurlijk mag je wel stukjes scripts plaatsen om zo gebruikers te helpen. Graag zelfs. Maar op het moment dat SanThe het stukje code plaatste had Erwin de werking van de operators / % uitgelegd. Op basis daarvan had de topic starter de oplossing kunnen maken. Daarom had ik heel even het stukje code van SanThe weggehaald. Simpelweg om Dominique de ruimte te geven en de werking van de functies te kunnen begrijpen om zo de oplossing te vinden.
Als toevoeging zal ik heel even de code van SanThe plaatsen. Die had ik bewaart omdat ik later in dit topic de oplossing van SanThe nog wilde plaatsen om te laten zien hoe het ook kan.
Code van Santhe:
Code (php)
Ik ben benieuwd naar hoe jij het zou doen.
Niels