Avatar billede mknielsen Nybegynder
02. februar 2000 - 11:26 Der er 7 kommentarer og
1 løsning

Uge nummer

Hvordan får jeg uge nummer frem i PHP3 eller PHP4.
Avatar billede hage Nybegynder
02. februar 2000 - 16:32 #1
Selve Date() funktionen indeholder mig bekendt ikke noget ugetal, men du kan selv beregne det således.
$weekNum = ceil(date("z",mktime(0,0,0,$month,$day,$year))/7);

Den tager det aktuelle dagsnummer og dividerer med 7 og runder resultatet op.
Det er f.eks. det de gør på http://www.minKalender.dk, som går i luften om et par uger...
Avatar billede lopa Nybegynder
02. februar 2000 - 16:57 #2
Ovenstående har dog nogle problemer, idet den for datoen 2000-01-01 vil returnere 0 og for 2000-01-02 vil returnere 1, hvor begge ugenr for begge datoer er 52.

Hvis du har adgang til MySQL er der en funktionen week("2000-02-02"), som returnere ugetallet.
Dog returnerer den også 0 på nogle datoer såsom 1999-01-01 og 2000-01-01
Avatar billede hage Nybegynder
02. februar 2000 - 17:10 #3
Så vidt jeg har regnet mig frem til, starter uge 1 på den første mandag i januar hvert eneste år. Det vil sige at nogle år (hvor d. 1/1 er en tirsdag) vil der gå en lille uge før uge 1 starter. Disse uger har i følge "Mayland" nummer 53. Tilsyneladende stemmer det overens med de datoer du nævner - hvis man ser hvor mange uger der er i det foregående år. Dette må man så kompensere for i PHP-scriptet.

Ang. MySQL funktionen "week" så vil jeg lige kigge lidt på den - kendte den ikke ;) - men det er tilsyneladende det samme...
Avatar billede mknielsen Nybegynder
05. februar 2000 - 04:42 #4
hage > Viser ikke uge-nummer:
$weekNum = ceil(date("z",mktime(0,0,0,$month,$day,$year))/7);
$weekNum = 52

lopa > Hvordan kan jeg bruge week() funktionen uden for en tabel? Og hvordan bruger jeg den direkte i min MySQL database?
Avatar billede razor Nybegynder
05. februar 2000 - 13:11 #5
Avatar billede mknielsen Nybegynder
06. februar 2000 - 18:45 #6
./me takker razor for et godt svar :)
Avatar billede mknielsen Nybegynder
07. februar 2000 - 12:42 #7
./me Razor!

I dag Mandag d. 07.02.2000 - siger den at uge = 5!

Det er da uge 6 nu! Ergo virker det ikke!
Avatar billede lopa Nybegynder
07. februar 2000 - 14:48 #8
Du kan bruge week() således:

select week("2000-02-07");

select * from data where uge=week("2000-02-07");
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