Avatar billede leif Seniormester
28. juni 2006 - 23:41 Der er 12 kommentarer og
2 løsninger

Ugedag ud fra dato

Hej,

Kan ikke lige gennemskue hvordan det skal grejes, men jeg har i databasen en dato yyyy-mm-dd, som jeg pænt selv vender når jeg udskriver den.

Men nu skal jeg bruge hvilken ugedag det er da der foran datoen nu skal stå om det er Mandag, Tirsdag osv. (Har det Array der skal bruges), men hvordan kan jeg finde ugedagen ?


På forhånd tak

/Leif
Avatar billede whatever Nybegynder
28. juni 2006 - 23:53 #1
Prøv at kigge på funktionerne date() og strftime(). Med en af disse kan du hente ugedagen udfra et timestamp. Timestampen kan du få ud fra din dato i databasen med strftime().

F.eks. strftime("%A",strtotime("YYYY-MM-DD"))

YYYY-MM-DD erstattes med datoen fra databasen.
Avatar billede jaw Nybegynder
28. juni 2006 - 23:53 #2
<?
setlocale(LC_ALL, "danish");
echo strftime("%A", mktime(0, 0, 0, 06, 29, 2006));
?>
Avatar billede leif Seniormester
29. juni 2006 - 00:02 #3
$dag = strftime("%u",strtotime("$row[dato]"));

$dkdag = array("Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag");

echo $dkdag[$dag];


Giver mig Torsdag med d. 2006-06-28, hvorfor ?
Avatar billede jaw Nybegynder
29. juni 2006 - 00:03 #4
Fordi mandag i %u er 1 og i dit array 0 ?
Avatar billede tdafoobar Nybegynder
29. juni 2006 - 00:04 #5
Fordi ugen begynder om søndagen. Derudover er
$dag = strftime("%u",strtotime("$row[dato]")); FORKERT

Hvorfor har du quotes omkring $row['date'] ???? quotes er til STRINGS, ikke TAL.

$dag = strftime("%u",strtotime($row['dato'])); er den korrekte syntaxs.
Avatar billede tdafoobar Nybegynder
29. juni 2006 - 00:05 #6
eller hvad jaw sagde ;)
Avatar billede tdafoobar Nybegynder
29. juni 2006 - 00:06 #7
[00:06] <tda> !php echo strftime("%u",strtotime(time()));
[00:06] <cT-PHP> TheDeathArt: 4

Torsdag er ugedag nr. 4 , så jaq havde vist ret.
Avatar billede Slettet bruger
29. juni 2006 - 00:33 #8
Eller nu når du alligevel laver et SQL udtræk, kunne du vel ligeså godt få udtrækket til at klare arbejdet, så PHPén ikke skal trække det, selvom det selvfølgelig ikke er et kæmpe stykke arbejde.

SELECT DAYOFWEEK(datofelt) AS weekday;

DAYOFWEEK retuner 1 for søndag, og 7 for lørdag.

Med udgangspunkt i din egen lille kodestump kan du så få ugedagen med:

$dkdag = array("","Søndag","Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag");
echo $dkdag[$row["dayofweek"]];

Håber du kan se formålet med at lade sqlén arbejde :-)
Avatar billede leif Seniormester
29. juni 2006 - 20:36 #9
Vil whatever og jaw ligge et svar ?

cypermann -> Jeg afviser dit svar da jeg havde fået det andet til at køre.
Avatar billede whatever Nybegynder
29. juni 2006 - 20:44 #10
Lægger da lige et svar.
Avatar billede jaw Nybegynder
29. juni 2006 - 21:31 #11
Vil jeg da gerne :)
Avatar billede leif Seniormester
29. juni 2006 - 21:32 #12
Takker for hjælp
Avatar billede jaw Nybegynder
29. juni 2006 - 21:42 #13
Selv tak.
Avatar billede Slettet bruger
29. juni 2006 - 21:46 #14
Det er helt iorden :-)
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