Avatar billede hypofysen Nybegynder
18. december 2010 - 13:12 Der er 8 kommentarer og
1 løsning

hvilken dag var den 10/12/2010

Jeg har brug for at vide hvilken dag det var for 10 dage siden for eksempel i intervallet 1-7. altså med funtionen date('N');

Men hvordan bruges date('N') på andet end dags dato?
18. december 2010 - 13:41 #1
date('N', 2010-12-10)
Avatar billede alphabits Nybegynder
18. december 2010 - 13:52 #2
Christian_Belgiens forslag finder ugedagen på den dag der faldt 2010-12-10=1988 sekunder efter 1. januar 1970 :) Du kan bruge:

date('N', strtotime('2010-12-17'))
Avatar billede hypofysen Nybegynder
18. december 2010 - 13:57 #3
det kunne jeg bedre få til at passe, tak for hjælpen..

lig et svar alphabits
Avatar billede repox Seniormester
18. december 2010 - 16:55 #4
Som en kommentar til løsningen er der også en væsentlig bedre* metode at gøre det på; ved hjælp af mktime()
date("N", mktime(0, 0, 0, 12, 17, 2010));


*Bedre fordi du ikke skal sikre dig at formatet i strtotime() er rigtigt - det tvinger dig til at validere dit input, hvilket kan være meget nyttigt hvis datostrengen er brugergenereret.
Avatar billede showsource Seniormester
18. december 2010 - 22:52 #5
Næhh repox, dit ex. vil jo også kræve tjek på brugerinput.
Og det skal man jo iøvrigt altid ......

strtotime() er en "superven" hvis man holder sig til at bruge standard sql datoformat, YYYY-MM-DD

Og hvis det er baseret på brugerinput, så er checkdate() uundværlig!
Avatar billede hypofysen Nybegynder
20. december 2010 - 16:42 #6
jeg takker for alle kommentarerne, jeg brugte alphabits svar, så lig et svar - showsource og repox i må også gerne ligge et svar så fordeler jeg pointene
Avatar billede repox Seniormester
21. december 2010 - 13:01 #7
#5
Validering af brugerinput var egentlig også det jeg promoverede :) Jeg fik vist bare ikke gjort det tydeligt nok.

Min tese er at strtotime() er en meget anvendelig og nemt funktion at anvende, men personligt bruger jeg den kun, hvis det eksempelvis er date/datetime formater fra databasen jeg henter - der har jeg sikret mig at formatet jeg smider i funktionen er korrekt. mktime() bruger jeg helst når jeg skal validere inputtet fra klientsiden, da jeg føler jeg har en bedre kontrol over det ved at have dem adskilt når jeg skal bestemme unix timestampet.

Argumentationen for mig bestod i at jeg føler der var bedre validering i at bruge mktime() - ikke fordi det ene er mere rigtigt end det andet :)

#6
Jeg springer bare over point - mit forslag var et alternativ til en løsning du allerede havde fået.
Avatar billede showsource Seniormester
21. december 2010 - 19:05 #8
#7
Ja ok.
Hvis jeg laver noget hvor bruger kan sætte en dato, er det altid med tre dropdownbokse.

Jeg springer også point over her.
Avatar billede hypofysen Nybegynder
27. december 2010 - 19:10 #9
lukker tak for kommentarerne..
alphabits du må skrive hvis jeg skal oprette et spørgsmål med point til dig
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