kevinwiedener: Aus gegebener Wochennummer die Tage berechnen?

Hi Leute,

wieder ein Problemchen, das ich nicht ohne eure Hilfe lösen kann.

Ich übergebe meinem Skript eine bestimmte Wochennummer (also zwischen 1 und 52) und dann soll das Skript folgendes ausgeben:

Montag xx yy1
Dienstag (xx+1) yy1
Mittwoch (xx+2) yy1
Donnerstag xx yy2

also z.B.

Montag 27. Februar
Dienstag 28. Februar
Mittwoch 29. Februar (abhängig vom aktuellen Jahr)
Donnerstag 1. März
Freitag 2. März

etc...

Das muss doch irgendwie gehen, oder?

Also, wie gesagt, ich überebe die Wochennummer, sonst nichts, und das Skript soll nun die korrekten Daten für den Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag und Sonntag liefern!

Hat da irgendjemand ne Lösung?

Danke

Kevin

  1. re:hi.

    die woche besteht doch auch nur aus tagen. rechene also wochennummer minus ein mal 7, der sovielte tag ist das dann. dann berechnest du einfach den wochentag des 01.01 und rechnest ihn auf deine zahl hoch. gleiches machst du mit monaten und tagen, fertig.

    gruss,
    frank_eee.

  2. Hallo Kevin!

    Ich übergebe meinem Skript eine bestimmte Wochennummer (also zwischen 1 und 52) und dann soll das Skript folgendes ausgeben:

    Montag 27. Februar
    Dienstag 28. Februar
    Mittwoch 29. Februar (abhängig vom aktuellen Jahr)
    Donnerstag 1. März
    Freitag 2. März

    Also, wie gesagt, ich überebe die Wochennummer, sonst nichts, und das Skript soll nun die korrekten Daten für den Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag und Sonntag liefern!

    Ich habe meiner Funktion damit sie flexibler bleibt auch das Jahr mitgegeben - kannst Du aber gerne kürzen.

    Und weil ein Beispiel oft mehr hilft als eine Erklärung, und ich es auch genau wissen wollte gibt es hier den kompletten Code.

    Viele Grüße

    H-P Ortner

    -----------
    <html>
    <head>
    <title>Kalenderwoche</title>
    <script language="JavaScript">
    <!--
     function Kalenderwoche(Jahr, Woche)
      {
       var Neujahr, Montag1, Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, Sonntag;
       Neujahr= new Date(Jahr,0,1);
       Montag1= new Date(Neujahr*1+(24*60*60*1000)*(8-Neujahr.getDay()));
       if(Montag1.getDate() > 4){Montag1.setTime(Montag1*1+(24*60*60*1000*-7))};
       Montag= new Date(Montag1*1+(24*60*60*1000)*((Woche-1)*7));
       Dienstag= new Date(Montag*1+(24*60*60*1000*1));
       Mittwoch= new Date(Montag*1+(24*60*60*1000*2));
       Donnerstag= new Date(Montag*1+(24*60*60*1000*3));
       Freitag= new Date(Montag*1+(24*60*60*1000*4));
       Samstag= new Date(Montag*1+(24*60*60*1000*5));
       Sonntag= new Date(Montag*1+(24*60*60*1000*6));
       alert (Montag + "\n" + Dienstag + "\n" + Mittwoch + "\n" + Donnerstag + "\n" + Freitag + "\n" + Samstag + "\n" + Sonntag)}
    //-->
    </script>
    </head>
    <body>
    <form name="Form1">
    <table>
    <tr><td></td><td>Jahr</td><td>Woche</td>
    </tr>
    <tr>
    <td><input type="Button" value="Berechne" onClick="Kalenderwoche(document.Form1.Jahr.value, document.Form1.Woche.value)"></td>
    <td><input type="Text" name="Jahr" value="2002" size="4" maxlength="4"></td>
    <td><input type="Text" name="Woche" value="1" size="2" maxlength="2"></td>
    </tr>
    </table>
    </form>
    Erster Montag im Jahr ist hier erster Tag der ersten Woche.<br>
    Weitere Hinweise:<br>
    <a href="http://home.nordwest.net/hgm/kalender/kal-64.htm">Kalenderwoche</a>
    <a href="http://selfhtml.teamone.de/javascript/objekte/date.htm">SELFHTML</a>
    </body>
    </html>