Avatar billede pernillemb Nybegynder
04. oktober 2002 - 18:30 Der er 4 kommentarer og
1 løsning

Problemer med at finde fejlen selv...

Hejsa.

Jeg har fundet et stykke kode, hvor man kan få skrevet hvornår man sidst har opdateret sin hjemmeside. Da det er på tysk har jeg oversat de få ord der var til dansk, men der er en fejl i koden. I stedet for at skrive det rigtige årstal (2002) så skriver den 3902 (altså 1900 mere). Hvordan finder jeg den fejl?

Jeg vil gerne copy/paste koden her, men den fylder lidt meget.  Jeg vil meget gerne sende den pr email, hvis der er en, der mener at kunne hjælpe. Det er skrevet i JavaScript.

(Jeg er helt nybegynder og kender ikke til ret meget andet end html og lidt css.)

Pernille
Avatar billede jakoba Nybegynder
04. oktober 2002 - 18:35 #1
et eller andet sted i din kode står der  +1900  og det er i koden der der skal rettes.  men det er svært uden at kunne se koden så tal og cut&paste nogen linie før og efter det sted ind her.

mvh JakobA
Avatar billede jakoba Nybegynder
04. oktober 2002 - 18:36 #2
Ups  så tal og  ->  så tag og
Avatar billede pernillemb Nybegynder
04. oktober 2002 - 18:36 #3
if ((LastModDate.getYear()!=70) &&(LastModDate.getYear()!=69))
{
  if (navigator.appName=="Microsoft Internet Explorer")
  {strModDate= LastModDate+"";
  myOff = parseInt(strModDate.substring(strModDate.lastIndexOf("UTC")+3,strModDate.lastIndexOf("UTC")+8),10);
  }else myOff=0;
  LastModDate.setTime(LastModDate.getTime()+myOff*36000);
  document.write("Sidst opdateret ");
  document.write(wocArray[(LastModDate.getDay()+1)],", ");
  document.write(LastModDate.getDate(),". ",MOYArray[(LastModDate.getMonth()+1)]," ");
  document.write(" ",((LastModDate.getYear()<90)?(LastModDate.getYear()+2000):(LastModDate.getYear()+1900)),".");
  document.write(" ",(LastModDate.getHours()<10)?("0"+LastModDate.getHours()):(LastModDate.getHours()),":",(LastModDate.getMinutes()<10)?("0"+LastModDate.getMinutes()):(LastModDate.getMinutes())," ")
}
Avatar billede jakoba Nybegynder
04. oktober 2002 - 18:57 #4
Jep, det er IE der har lavet om i deres regler for hvad funktionen getYear() skal returnere, i gamle dage returnerede de kun de 2 sidste cifte (Y2K problem)

så lav linien:

      document.write(" ",((LastModDate.getYear()<90)?(LastModDate.getYear()+2000):(LastModDate.getYear()+1900)),".");

om til nedenstående 9 linier:

      if ( LastModDate.getFullYear ) {
          var temp = LastModDate.getFullYear();
      } else {
          var temp = LastModDate.getYear();
          if ( temp < 150 ) {
              temp = (temp<90)?(temp+2000):(temp+1900)
          }
      }
      document.write(" ",temp,".");

så skulle det virke korrekt.

mvh JakobA
Avatar billede pernillemb Nybegynder
04. oktober 2002 - 19:11 #5
Jamen, det virker jo perfekt...
Tusind Tak!!!
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