mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 27.11.2020 03:46 Benutzername: Passwort: Auto-Login

Thema: [JS] Wikipedia Kalender Problem vom 21.01.2011


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [JS] Wikipedia Kalender Problem
Autor Nachricht
Lazar
Threadersteller

Dabei seit: 21.01.2011
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 21.01.2011 09:47
Titel

[JS] Wikipedia Kalender Problem

Antworten mit Zitat Zum Seitenanfang

Hi, ich bin grad dabei mir eine lokale Startseite für Firefox zu erstellen und habe da ein altes Kalender-Script ausgegraben, welches die Tage in Links zu Wikipedia umsetzt. Leider hat das Ding ein Problem mit der Jahresberechnung und meine Kenntnisse in JS sind sehr schlecht. Statt 2011 wird das Jahr 111 angezeigt, was ja kein Problem wäre wenn dadruch die Tage nicht auch um 2 Tage versetzt wären. Ich würde mich freuen wenn mir jemand helfen könnte.

PS: Es ist nur das Script selber, also bitte keine Bemerkungen zum Layout Lächel

Code:
<script language="JavaScript">   

<!--

var d = new Date();

var dm = d.getMonth() + 1;

var dj = d.getYear();

if(dj < 100) dj+=1900;

var Whgrund = "#000000"; /* Wochenhintergrundfarbe */

var Wsfarbe = "#CD5C5C"; /* WochenSchriftfarbe */

Kalender(dm,dj);

function Kalender(Monat,Jahr)

{

Monatsname = new Array

("Januar","Februar","M&auml;rz","April","Mai","Juni","Juli",

"August","September","Oktober","November","Dezember");

Tag = new Array ("Mo","Di","Mi","Do","Fr","Sa","So");

var Monate = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

var addierteMonate = new Array(12);

var KSchrArt = "Century Gothic"; /* Schriftart Kalenderkopf */

var KSchrGroesse = 1.5; /* Schriftgroesse 1-7 Kalenderkopf */

var KSchrFarbe = "#FFFFFF"; /* Schriftfarbe Kalenderkopf */

var Khgrund = "#000000"; /* Hintergrundfarbe Kalenderkopf */

var TSchrArt = "Century Gothic"; /* Schriftart Tagesanzeige */

var TSchrGroesse = 1; /* Schriftgroesse 1-7 Tagesanzeige */

var TSchrFarbe = "#000000"; /* Schriftfarbe Tagesanzeige */

var Thgrund = "#000000"; /* Hintergrundfarbe Tagesanzeige */

var SoFarbe = "#550000"; /* Schriftfarbe f. Sonntage */

var WoEndF = "#808080"; /* Hintergrundfarbe Wochenende */

var Ahgrund = "#4B0082"; /* Hintergrundfarbe f. heutigen Tag */

var TBorderColor = "#B0C4DE"; /* Tabellenborder-Farbe */

/* Schaltjahr feststellen und brücksichtigen */

  if ((!(Jahr % 4) && (Jahr % 100)) || !(Jahr % 400))

  {  Monate[1] = 29; }  else  {  Monate[1] = 28; }



  /* verstichene Tage berechnen und eintragen */

  addierteMonate[0] = Monate[0];

  for (i=1; i < 12; i++)

  {  addierteMonate[i] = addierteMonate[i-1] + Monate[i]; }



  var jetzt = new Date();

  var DieserMonat = jetzt.getMonth() + 1;

  var DiesesJahr = jetzt.getYear();

  if(DiesesJahr < 100) DiesesJahr+=1900;

  var DieserTag = jetzt.getDate();



  var Zeit  = new Date(Jahr,Monat-1,1);

  var Start = (Zeit.getDay() + 6) % 7;

  var Stop  = Monate[Monat-1];



  document.write("<table width=100% border=1 bordercolor="+TBorderColor+" cellpadding=3 cellspacing=0>");

  var Monatskopf = Monatsname[Monat-1] + " " + Jahr;

  SchreibeKopf(Monatskopf,Khgrund,KSchrFarbe,KSchrGroesse,KSchrArt);

  var Tageszahl = 1;

  if ((Jahr==DiesesJahr)&&(Monat==DieserMonat)) InDiesemMonat = 1;

  else InDiesemMonat = 0;

  var Januar1  = new Date(Jahr,0,1);

  J1WochenTag = (Januar1.getDay()+6)%7;

  woche = parseInt((((Monat <= 1) ? 0 : addierteMonate[Monat-2]) + J1WochenTag) / 7) +

          (J1WochenTag <= 3);

  for(i=0;i<=5;i++)

  {

    document.write("<tr>");

    for(j=0;j<=6;j++)

    {  if (j == 6) {  Vordergrund = SoFarbe; } else {  Vordergrund = TSchrFarbe; }

       if (j > 4) {Hintergrund = WoEndF;}

       else { Hintergrund = Thgrund;}

       if (((i==0)&&(j < Start)) || (Tageszahl > Stop))

       {  zeichen = " "; 

       }

       else

       {  zeichen = Tageszahl;

          if(InDiesemMonat &&(Tageszahl==DieserTag))

          {  Hintergrund = Ahgrund; InDiesemMonat = 0; }

          Tageszahl++;

       }

       SchreibeZelle(zeichen,Hintergrund, Vordergrund, TSchrGroesse,TSchrArt,zeichen,Monatsname[Monat-1],Jahr);     }

     /* jetzt die Woche ausgeben */

     if (woche == 0) zeichen = 53; else { zeichen = woche; }

     SchreibeZelle(zeichen,Whgrund, Wsfarbe, TSchrGroesse,TSchrArt,0,0,0);

     woche ++;

     document.write("</tr>");

     if (Tageszahl > Stop) break;

   } 

   document.write("</table>");

}



function SchreibeKopf(Monatstitel,HgFarbe,SchrFarbe,SchrGroesse,SchrArt)

{

  document.write("<tr><td align=center colspan=8 valign=middle bgcolor="+HgFarbe+">");

  document.write('<font size='+SchrGroesse+' color='+SchrFarbe+' face="'+SchrArt+'">');

  document.write(Monatstitel + "</font></td></tr><tr>");

  for(i=0;i<=6;i++)

    SchreibeZelle(Tag[i],HgFarbe,SchrFarbe,SchrGroesse,SchrArt,0,0,0);



  SchreibeZelle("Wo",HgFarbe,SchrFarbe,SchrGroesse,SchrArt,0,0,0);

  document.write("</tr>");

}



function SchreibeZelle(Inhalt,HgFarbe,SchrFarbe,SchrGroesse,SchrArt,tag,monat,jahr)

{

  document.write("<td align=center valign=middle bgcolor="+HgFarbe+">");

  document.write('<font size='+SchrGroesse+' color='+SchrFarbe+' face="'+SchrArt+'">');

  if (tag > 0) document.write('<A HREF="http://de.wikipedia.org/wiki/'+tag+'._'+monat+'">');

  document.write(Inhalt);

  if (tag > 0) document.write('</A>');

  document.write("</font></td>");

}

//-->

</script>

</td>

<td>         

<script language="JavaScript">

<!--

if (dm == 12) { dm = 1; dj += 1; }

else { dm += 1; }

Kalender(dm,dj);

//-->

</script>
  View user's profile Private Nachricht senden
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 21.01.2011 10:39
Titel

Antworten mit Zitat Zum Seitenanfang

Du könntest Dir eventuell vorher die Dokumentation zum Javascript Date-Objekt anschauen ...
  View user's profile Private Nachricht senden
Anzeige
Anzeige
choise

Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 32
Geschlecht: Männlich
Verfasst Fr 21.01.2011 11:04
Titel

Antworten mit Zitat Zum Seitenanfang

Vorleseservice™

getYear()
Zitat:
Liefert die seit 1900 vergangenen Jahre eines Datumsobjektes als Zahl zurück, beispielsweise 91, wenn im Datumsobjekt der 02.10.1991, 23:59:00 Uhr, gespeichert ist.


getFullYear()
Zitat:
iefert im Gegensatz zu getYear() das volle Jahr zurück. Im Internet Explorer ist dies bei Daten ab dem Jahr 2000 mit dem Resultat von getYear() identisch.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Lazar
Threadersteller

Dabei seit: 21.01.2011
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 21.01.2011 11:16
Titel

Antworten mit Zitat Zum Seitenanfang

choise hat geschrieben:
Vorleseservice™

getYear()
Zitat:
Liefert die seit 1900 vergangenen Jahre eines Datumsobjektes als Zahl zurück, beispielsweise 91, wenn im Datumsobjekt der 02.10.1991, 23:59:00 Uhr, gespeichert ist.


getFullYear()
Zitat:
iefert im Gegensatz zu getYear() das volle Jahr zurück. Im Internet Explorer ist dies bei Daten ab dem Jahr 2000 mit dem Resultat von getYear() identisch.


danke, ich hab an der berechnung rumgemurkst da ich ja wirklich 0 plan von js hab.
  View user's profile Private Nachricht senden
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 21.01.2011 11:57
Titel

Antworten mit Zitat Zum Seitenanfang

Zitat:
danke, ich hab an der berechnung rumgemurkst da ich ja wirklich 0 plan von js hab.


Sorry, aber dann bist Du hier falsch. Hier gehts lang: http://www.w3schools.com/js/default.asp
  View user's profile Private Nachricht senden
 
Ähnliche Themen iPhone-Kalender bei Google-Kalender backupen
Plattform wie Wikipedia oder so
Wikipedia comparison of layout engines
Kalender
Kalender-Script
dynamischer Kalender
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.