Sandra.Bell: Die letzten 12 Monate mit JavaScript

Hallo Liebe Leute,

ich habe es mit JavaScript geschafft, einen Zeitintervall zu erstellen, der mir die Monate des aktuellen Jahres bis zum aktuellen Monat liefert. Ich bin zwar kein JavaScipt Profi aber ich hab mir das mit der Suche in diesem Forum zusammengeklickt. Nun habe ich aber ein Problem.

Bei meinem Script erhalte ich dann -> 01.2008 - 10.2008.

Jetzt muss ich rollierend die letzten 12 Monate liefern. Das bedeutet ich muss in JavaScript einen Weg finden der mir ein Intervall liefert das wie folgt aussieht:

Anfang des Intervalls (aktueller Monat MINUS 13 Monate)
Ende des Intervalls (aktueller Monat MINUS 1 Monat)

  
  
<html>  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">  
<title>New Page 1</title>  
<script language=javascript>  
var paramTEXT_CONTENT = "0";  
var d=new Date();  
var day=d.getDate();  
var month=d.getMonth() + 1;  
var year=d.getFullYear();  
var inputDate = "01" + "." + year + " - " + month + "." + year;  
alert(inputDate);  
</script>  
</head>  
<body>  
</body>  
</html>  
  

Hat jemand eine Idee wie das geht? Rechnen kann ich doch nicht mit JS oder?

Grüße,

Sandra

  1. so vielleicht

    <script type="text/javascript">

      
    var paramTEXT_CONTENT = "0";  
    var d=new Date();  
    var day=d.getDate();  
    var month=d.getMonth() + 1;  
    var year=d.getFullYear();  
      
    var endMonat=month-1;  
    var endJahr=year-1;  
    if (endMonat==0) {  
     endMonat=12;  
     endJahr--;  
    }  
    var anfMonat=month-2;  
    var anfJahr=endJahr-1;  
    if (anfMonat==0) {  
     anfMonat=12;  
     anfJahr--;  
    }  
    alert("Intervall von"+anfMonat+" - "+anfJahr+" bis "+endMonat+" - "+endJahr  
      
    var inputDate = "01" + "." + year + " - " + month + "." + year;  
    alert(inputDate);  
    
    

    </script>

    Rechnen kann ich doch nicht mit JS oder?

    doch, doch!

    1. Hallo Gast24,

      vielen Dank. Doch ich verstehe eines nur nicht.
      Deine Script liefert 8.2006 - 9.2007.
      Eigentlich soll aber rauskommen 9.2007 - 9.2008??
      Oder muss ich noch etwas anpassen?

      Liebe Grüße,

      Sandra

        
        
      <html>  
      <head>  
      <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">  
      <title>New Page 1</title>  
      <script type="text/javascript">  
      var paramTEXT_CONTENT = "0";  
      var d=new Date();  
      var day=d.getDate();  
      var month=d.getMonth() + 1;  
      var year=d.getFullYear();  
      var endMonat=month-1;  
      var endJahr=year-1;  
      if (endMonat==0) {  
       endMonat=12;  
       endJahr--;  
      }  
      var anfMonat=month-2;  
      var anfJahr=endJahr-1;  
      if (anfMonat==0) {  
       anfMonat=12;  
       anfJahr--;  
      }  
      alert("Intervall von "+anfMonat+"."+anfJahr+" - "+endMonat+"."+endJahr);  
        
      var inputDate = "01" + "." + year + " - " + month + "." + year;  
      alert(inputDate);  
        
      </script>  
      </head>  
      <body>  
      </body>  
      </html>  
        
      
      
      1. hatte deine Aufgabenstellung anders verstanden, so ist es natürlich noch einfacher:

        <script type="text/javascript">
        var paramTEXT_CONTENT = "0";
        var d=new Date();
        var day=d.getDate();
        var month=d.getMonth() + 1;
        var year=d.getFullYear();
        var endMonat=month-1;
        var endJahr=year-1;
        if (endMonat==0) {
        endMonat=12;
        endJahr--;
        }

        var anfMonat=endMonat;
        var anfJahr=endJahr-1;

        alert("Intervall von "+anfMonat+"."+anfJahr+" - "+endMonat+"."+endJahr);

        var inputDate = "01" + "." + year + " - " + month + "." + year;
        alert(inputDate);

        </script>

        1. Hi Gast24,

          ich habe noch das endJahr auf year gesetzt und nun tut das Script genau das was es tun soll - Dank Dir habe ich etwas neues gelernt. Hab vielen Dank.
          Liebe Grüße,

          Sandra

            
          <script type="text/javascript">  
          var paramTEXT_CONTENT = "0";  
          var d=new Date();  
          var day=d.getDate();  
          var month=d.getMonth() + 1;  
          var year=d.getFullYear();  
          var endMonat=month-1;  
          var endJahr=year;  
          if (endMonat==0) {  
           endMonat=12;  
           endJahr--;  
          }  
          var anfMonat=endMonat;  
          var anfJahr=endJahr-1;  
          if (anfMonat==0) {  
           anfMonat=12;  
           anfJahr--;  
          }  
          alert("Intervall von"+anfMonat+" - "+anfJahr+" bis "+endMonat+" - "+endJahr);  
          var inputDate = "01" + "." + year + " - " + month + "." + year;  
          alert(inputDate);  
          </script>  
            
          
          
  2. Hallo,

    Hat jemand eine Idee wie das geht? Rechnen kann ich doch nicht mit JS oder?

    na klar!
    hast du doch selber gemacht:

    var month=d.getMonth() + 1;

    oder ist das >>Plus Eins<< kein rechnen?

    MfG. Christoph Ludwig

    --
    Wo die Sprache aufhört, fängt die Musik an...
    Selfcode:  ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
    Go to this
  3. Das geht ohne komplizierte Rechnerei

    Anfang des Intervalls (aktueller Monat MINUS 13 Monate)
    Ende des Intervalls (aktueller Monat MINUS 1 Monat)

    var heute = new Date();  
    var interval_start = new Date();  
    var interval_end = new Date();  
    interval_start.setMonth(heute.getMonth() - 13);  
    interval_end.setMonth(heute.getMonth() - 1);  
      
    alert(interval_start + '- ' + interval_end);
    

    Struppi.