HTML, CSS, PHP, MySQL

html-php.de

HTML & CSS Stylesheets Referenz JavaScript PHP MySQL Sonstiges Gästebuch Inhalt Impressum

[ Datum und Uhrzeit ] [ Tag ermitteln ] [ Monat ermitteln ] [ Jahr ermitteln ] [ Uhrzeit ermitteln ] [ Mit Datum rechnen ]

Datum und Uhrzeit

Um mit ein Datum bzw. mit einer Uhrzeit rechnen zu können, wird intern jedes Datum in Milisekunden umgerechnet. Dabei wird, wie in der EDV üblich das Datum 01.01.1970 herangezogen, und berechnet, wieviel Milisekunden seit diesem Zeitpunkt vergangen ist.
Wollen Sie das aktuelle Datum und Uhrzeit ermitteln, und diese in eine Variable speichern möchten, benutzen Sie folgenden Code:

var Jetzt = new Date();

Um ein beliebiges Datum in eine Variable zu speichern, benutze einen der folgenden Code:

var Datum = new Date(2006,8,27);

also im Format Jahr, Monat, Tag - Dabei müssen Sie beachten, dass der Monat Januar die Zahl 0 ist, Februar die Zahl 1, usw. Dezember ist also 11. Dieses gilt auch für das nächte Beispiel, wo eine Uhrzeit im Format Jahr, Monat, Tag, Stunden, Minuten, Sekunden mit übergeben wird;

var Zeit = new Date(2006,8,27,11,57,16);

Eine weitere Möglichkeit ist, statt Zahlen, eine Zeichenkette zu benutzen. Dabei wird das Format Monat Tag, Jahr, Stunden:Minuten:Sekunden benutzt:

var Zeit = new Date("December 24, 2006 11:57:16");

Den Monatsnamen müssen Sie dabei in Englisch angeben.

Die letzte möglichkeit wäre, die Milisekunden anzugeben, die Seit dem 01.01.1970 00:00:00 Uhr vergangen sind:

var Zeit = new Date(1165522716763);

Hierbei handelt es sich um den 07.12.2006 um 21:21 Uhr.

Tag ermitteln

Den aktellen Monatsstag ermitteln Sie mit getDate(). Dabei wird z.B. am 15.11.2006 die Zahl 15 zurückgegeben

  <body>
   <script>
    <!--
    var Jetzt = new Date() ;
    var Tag = Jetzt.getDate() ;
    document.write("Heute ist der " + Tag +".") ;
    //-->
   </script>
  </body>
Das ganze sieht so aus

Den aktuellen Tag ermittelt man mit getDay(). Am Sonntag wird 0 zurückgegeben, Montag=1, Dienstag=2 usw. Samstag=6. Um den Wochentag auszugeben, benutze ich ein Array. Der Code könnte so aussehen:

  <body>
   <script>
    <!--
    var Jetzt = new Date() ;
    var Tag = Jetzt.getDay() ;
    var Name = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch",
                         "Donnerstag", "Freitag", "Samstag");
    document.write("Heute ist " + Name[Tag]) ;
    //-->
   </script>
  </body>
Das ganze sieht so aus

Monat ermitteln

Den aktellen Monat ermitteln Sie mit getMonth(). Dabei wird z.B. am 15.11.2006 die Zahl 10 zurückgegeben. Da der Januar 0 ist, ist November also 10. Auch hier benutze ich ein Array, um den aktuellen Monatsnamen auszugeben.

  <body>
   <script>
    <!--
    var Jetzt = new Date() ;
    var Monat = Jetzt.getMonth() ;
    var Name = new Array("Januar", "Februar", "M&auml;rz", "April", 
                         "Mai", "Juni", "Juli", "August", "September", 
                         "Oktober", "November", "Dezember");
    document.write("Wir haben jetzt " + Name[Monat]) ;
    //-->
   </script>
  </body>
Das ganze sieht so aus

Jahr ermitteln

Das aktelle Jahr ermitteln Sie mit getYear(). Dabei wird z.B. am 15.11.1995 die Zahl 95 zurückgegeben. Doch nn gibt es einige ungereimtheiten. Bei einigen Browsern wird ab 2000 unterschiedliche Werte zurückgegeben. Zum Beispiel für 2006 geben einige Browser 106 zurück, andere 2006. Deshalb muß mit der Abrage if die Zahl überprüft werden:

  <body>
   <script>
    <!--
    var Jetzt = new Date() ;
    var Jahr = Jetzt.getYear() ;
    if (Jahr < 999)  Jahr += 1900;
    document.write("Wir haben das Jahr " + Jahr) ;
    //-->
   </script>
  </body>
Das ganze sieht so aus

eine weitere möglichkeit ist der einsatz von getFullYear. Hierbei wird die volle Jahreszahl zurückgegeben.

  <body>
   <script>
    <!--
    var Jetzt = new Date() ;
    var Jahr = Jetzt.getFullYear() ;
    document.write("Wir haben das Jahr " + Jahr) ;
    //-->
   </script>
  </body>
Das ganze sieht so aus

Uhrzeit ermitteln

Mit getHours() wird die Stunde, mit getMinutes() die Minutenzahl, und mit getSeconds() die Sekuden ermittelt. Hier ein kompletter Code:

  <!DOCTYPE HTML>
  <html lang="de">
  <head>
   <title>Test</title>
   <meta charset="utf-8">
  </head>
  <body>
   <script>
    <!--
    var Jetzt = new Date();
    var Tag = Jetzt.getDate();
    var Monat = Jetzt.getMonth() + 1;
    var Jahr = Jetzt.getYear();
    var Stunden = Jetzt.getHours();
    var Minuten = Jetzt.getMinutes();
    var Minute2  = ((Minuten < 10) ? ":0" : ":");
    var Sekunden = Jetzt.getSeconds();
    var Sekunde2  = ((Sekunden < 10) ? ":0" : ":");
    if (Jahr<2000) Jahr=Jahr+1900;
     document.write("<h2>Herzlich Willkommen!<\/h2><b>Heute ist der "
      + Tag + "." + Monat + "." + Jahr + ". Es ist jetzt " 
      + Stunden + Minute2 + Minuten + Sekunde2 + Sekunden + " Uhr<\/b>");
    //-->
   </script>
  </body>
  </html>
Das ganze sieht so aus

Mit Datum rechnen

Um mit dem Datum zur rechnen, ist es sinnvoll, die zu berechnenen Daten in Millisekunden umzurechnen. In den folgenen Beispiel wird zum aktuellen Datum 200 Tage hinzugerechnet. Mit setTime wird das neue Datum übergeben.

  <!DOCTYPE HTML>
  <html lang="de">
  <head>
   <title>Datum addieren</title>
   <meta charset="utf-8">
   <script>
    var jetzt = new Date();
    var heute = jetzt.getTime();
    var dann = heute + (200 * 24 * 60 * 60 * 1000);
    jetzt.setTime(dann);
    var Jahr = jetzt.getFullYear();
    var Monat = jetzt.getMonth() + 1;
    var Tag = jetzt.getDate();
    alert("in 200 Tagen ist der " + Tag + "." + Monat + "." + Jahr);
   </script>
  </head>
  <body>
  </body>
  </html>
Das ganze sieht so aus

Einfacher zu rechnen kann man mit Jahre. Übergeben sie das Jahr dann mit setYear.

  <!DOCTYPE HTML>
  <html lang="de">
  <head>
   <title>Datum addieren</title>
   <meta charset="utf-8">
   <script>
    var jetzt = new Date();
    var heute = jetzt.getTime();
    var Jahr = jetzt.getFullYear()
    jetzt.setYear(Jahr + 1);
    var Jahr = jetzt.getFullYear();
    var Monat = jetzt.getMonth() + 1;
    var Tag = jetzt.getDate();
    alert("in 1 Jahr ist der " + Tag + "." + Monat + "." + Jahr);
   </script>
  </head>
  <body>
Das ganze sieht so aus

back top next