Avatar billede tupsy Nybegynder
24. oktober 2003 - 10:07 Der er 3 kommentarer og
1 løsning

Regnefejl i kalender?

Jeg har på et tidspunkt "lånt" følgende kalender fra en spørgsmål her på eksperten.dk

Nu ser jeg til min gru at den regner forkert i Oktober hvert år..
Der er 2 dage der har samme dato..

Nogen kvikke hoveder der kan se hvorfor????

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>

<style>
<script LANGUAGE="JavaScript">  <!-- Hide from old browsers
<style>
<!--
        A:link {text-decoration: none; color: #000000;}
        A:visited {text-decoration: none; color: #000000;}
        A:active {text-decoration: none; color: lightsteelblue;}
        A:hover {text-decoration: underline; color: #F4F47B;}
-->
</style>


<!-- Minus AutoDato -->
    <TITLE>Kalender</TITLE>
<META NAME="Generator" CONTENT="Stone's WebWriter 3">

<script language='javascript'>

var Netsc = (navigator.appName=="Netscape")?true:false;

var dage = new Array( "Søndag ", "Mandag ", "Tirsdag",
          "Onsdag ", "Torsdag", "Fredag ", "Lørdag " );
var maneder = new Array( "Januar", "Februar", "Marts",
          "April", "Maj", "Juni", "Juli", "August",
          "September", "Oktober", "November", "December" );

var mo;
var yr;
if ( self.location.search.length > 0 ) {
  mo = unescape( self.location.search.substring(1) );
  mo = mo.split(",");
  yr = parseInt(mo[1]);
  mo = parseInt(mo[0]);
} else {
  mo = new Date();
  yr = mo.getFullYear();
  mo = mo.getMonth();
};

var maaneden = new Date( yr, mo, 1 );

function tegnKalend ( ) {
  var rowTx = "\n  <tr>";
  for (var i=0; dage.length>i; i++ )
    rowTx += "<th bgcolor=lightsteelblue>"+dage[i]+"</th>";
  document.write( rowTx+"</tr>" );
  var dag = 1-maaneden.getDay();
//alert("dag="+dag+" mo="+mo+" getMonth()="+maaneden.getMonth() );
  while ( maaneden.getMonth() == mo ) {
    rowTx = "\n  <tr>";
    for (var i=0; dage.length>i; i++ )
      if ( 0 >= dag || maaneden.getMonth() != mo ) {
        rowTx += "<td bgcolor=lightsteelblue>&nbsp;</td>";
        dag += 1;
      } else {
        rowTx += "<td bgcolor=#FFFFFF><a href='java script:useDag("
                +dag +")'><font size=+1>" +dag +"</font></a></td>";
        maaneden = new Date( maaneden.valueOf()+(24*60*60*1000) );  // dagen efter;
        dag = maaneden.getDate();
      };
    //endfor
    document.write( rowTx+"</tr>" );
  };//endwhile
}; //end tegnKalend ( )

function prevMonth( ) {
  if ( 0>--mo ) { mo=11; yr=-1+yr };
  self.location.search="?"+escape( ""+mo+","+yr );
}; //end prevMonth( )

function nextMonth( ) {
  if ( ++mo>11 ) { mo=0; yr=1+yr };
  self.location.search="?"+escape( ""+mo+","+yr );
}; //end prevMonth( )

function useDag( dg ) {
  var res = new Date( yr, mo, dg );
  opener.brugDato( res );
  self.close();
}; //end useDag( integer )

</script>

</HEAD>
<BODY>

<form>
<table border=1 cellpadding=0>
  <tr><td colspan=2><input type='button' value='< forrige' onclick='prevMonth()'></td>
      <td colspan=3 align='center'><font size=+2>
<script>
document.write( maneder[mo]+" "+yr );
</script></font></td>
      <td colspan=2 align='right'><input type='button' value='næste >' onclick='nextMonth()'></td>
  </tr>
<script>
tegnKalend();
</script>
</table></form>
 
</BODY>
</HTML>
Avatar billede roenving Novice
24. oktober 2003 - 14:05 #1
Prøv sådan:

var maaneden = new Date( yr, mo, 1 ,12, 0, 0);
Avatar billede tupsy Nybegynder
24. oktober 2003 - 14:39 #2
He.. Det fandt jeg også selv lige ud af.. :-)

Men smid et svar så får du point...
Avatar billede roenving Novice
24. oktober 2003 - 14:49 #3
Velbekomme '-)
Avatar billede roenving Novice
24. oktober 2003 - 16:59 #4
-- tak for points ;~}
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