Avatar billede spm Nybegynder
02. juli 2005 - 14:50 Der er 10 kommentarer og
1 løsning

Kalender laver fejl i dagenen

Hej. Jeg har lavet et fint kalenderscript. Men jeg har opdaget at i år 2005 laver den fejl dagene. I år 2006,7,8 osv passer dagene.. Men ved bare ikke hvorfor. Nogen som kan give en forklaring på hvorfor?

http://michaelsenonline.dk/kalender.php

scriptet kan ses her:
http://michaelsenonline.dk/kalender.txt


klokken på serveren passer. skriver jeg date får jeg  Lør jul 2 14:45:06
Avatar billede nielle Nybegynder
02. juli 2005 - 19:34 #1
Jeg har tjekket efter, og ... nej, din kalender viser faktisk ikke rigtigt på 2006, 7, 8

Løsningen er, så vidt jeg kan bedømme, at rette den første 1. linje i:

if ($count < $firstDayArray[wday] || $dayArray[mon] != $month)
{
    print "<td><br></td>\n";
}
else
{
...

- til:

if ($count < ($firstDayArray[wday]+6)%7 || $dayArray['mon'] != $month)
Avatar billede nielle Nybegynder
02. juli 2005 - 19:41 #2
Jeg kan se at du har fået dit script fra nettet. Problemet er bare at din uge starter om mandagen mens at den de andre steder starter om lørdagen. Tro det eller ej, men ugens startdag er faktisk forskellig fra land til land: mandag nogen steder og lørdag andre. Men fordi at du ikke lige har været opmærksom på dette faktum så er dagene forskudt en dag i forhold til det de skulle have været.
Avatar billede spm Nybegynder
02. juli 2005 - 20:06 #3
det virker ikke.  Jeg har lige kontrolleret igen. Det passer altså i resten af årene.  noget af det har jeg fra nettet, men meget af det har jeg selv brygget:)
Avatar billede nielle Nybegynder
02. juli 2005 - 20:57 #4
Nej, det kan jeg s (lægger lige hovedet i blød igen). Forresten, husk lige at anonymiser dit paseword i:

http://michaelsenonline.dk/kalender.txt

- man kan nemlig læse det nu.
Avatar billede nielle Nybegynder
02. juli 2005 - 20:58 #5
Mht.til at det virkede for de andre år så kan jeg med 100% garanti fortælle at det gjorde det altså ikke. Prøv f.eks. at sammenlign med denne kiulde:

http://www.rmadsen.dk/kal/
Avatar billede nielle Nybegynder
02. juli 2005 - 21:09 #6
Formelen skal være:

if ($count < ($firstDayArray[wday]+1)%7 || $dayArray['mon'] != $month)
Avatar billede nielle Nybegynder
02. juli 2005 - 21:21 #7
Som din kalender ser ud lige *nu*, med d. 1/7 på en fredag, så er den korrekt. Og så vidt jeg kan se med en meget hurtig surfen runft til andre år, så er det ogsåkorrekt der.
Avatar billede nielle Nybegynder
02. juli 2005 - 21:25 #8
... og, for lige at få det på det rene, det var altså formelen:

if ($count < ($firstDayArray[wday]+6)%7 || $dayArray['mon'] != $month)

- som var den korrekte.

Undskyld at jeg fumler, men du fik lige gjort mig forvirret et øjeblik. ;^)
Avatar billede spm Nybegynder
02. juli 2005 - 21:35 #9
hehe.. Så kører den. ganske rigtig med +6.. ved ikke hvorfor den ikke ville før. Jeg sidder selv og halv sover.. Der er nada at lave på mit arbejde.
tak for hjælpen. Drop et svar
Avatar billede nielle Nybegynder
02. juli 2005 - 21:47 #10
Er du på arbejde her på en solrig lørdag - og så endda uden at der er noget som *skal* laves?!

Svar :^)
Avatar billede spm Nybegynder
02. juli 2005 - 21:49 #11
jep.. ingen problmer med tdc mobil i dag og så er der ik så mange som ringer. 


tak for hjælp
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