Michael A.: Datumsanzeige : zweistelliges Jahr

Hallo

Ich habe da folgenden Script :

<html><head>
<script Language="JavaScript">
<!--
var ZeitString, DatumsString;
function ZeitDatum () {
        Jetzt = new Date();
        Tag= Jetzt.getDate();
        Monat= Jetzt.getMonth()+1;
        Jahr= Jetzt.getYear();
                // Probleme mit 2-stelligen Jahreszahlen in einigen Browsern umgehen
                if ((Jahr > 99) && (Jahr < 1900)) Jahr += 1900;
        DatumsString= "" + Tag;
        DatumsString+= ((Monat<10) ? ".0" : ".") + Monat;
        DatumsString+= "." + Jahr;
        document.Uhr.Datum.value = DatumsString;
        Timer = setTimeout("ZeitDatum()",1000);}
// -->
</script>
</head>
<body onLoad="ZeitDatum();">
<form name="Uhr">
<input type="text" name="Datum" size="10" value="">
</form>
</body></html>

Ich möchte jetzt aber gerne das anstatt 2005 da nur nur noch 05 für das Jahr dort steht.
Könntet ihr mir sagen wie dies zu machen wäre ?

Desweiteren wäre es auch nicht schlecht wenn da statt : 6.09.2005 dies stehen würde : 06.09.2005

Hättet ihr da ne Idee dazu ?

Gruß
Michael

  1. hi,

    Ich möchte jetzt aber gerne das anstatt 2005 da nur nur noch 05 für das Jahr dort steht.
    Könntet ihr mir sagen wie dies zu machen wäre ?

    mit stringfunktionen wie bspw. substr(), die du auf das jahr anwendest.

    Desweiteren wäre es auch nicht schlecht wenn da statt : 6.09.2005 dies stehen würde : 06.09.2005

    http://de.selfhtml.org/javascript/beispiele/aufenthaltsdauer.htm zeigt, wie sowas geht.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Boh, das ist mir aber jetzt ein wenig zu hoch. Ich weiß leider gar nicht wie ich das dort einbauen soll.
      Wäre es dir vieleicht möglich einem Unwissendem zu zeigen wie man das in dem Script einbaut ?

      Gruß
      Michael

      1. hi,

        Boh, das ist mir aber jetzt ein wenig zu hoch. Ich weiß leider gar nicht wie ich das dort einbauen soll.
        Wäre es dir vieleicht möglich einem Unwissendem zu zeigen wie man das in dem Script einbaut ?

        ihm ein wenig hilfestellung zu geben, ist möglich.
        schau dir das script an, und versuche nachzuvollziehen, was es macht.
        wenn dir etwas unklar ist, schlage es zunächst im javascript-kapitel von selfhtml nach.

        das script reagiert doch derzeit schon darauf, dass einige browser das jahr nur zweilstellig liefern. es stellt kein großes problem dar, dies einfach umzudrehen - wenn der browser ein jahr mit vier stellen liefert, ziehe 2000 davon ab (unter der annahme, dass das script für 19xy nicht mehr laufen muss).

        und wie man den tag zweistellig mit führender null darstellt - ja schau's dir halt an, für den monat macht das script doch genau das bereits, also einfach nur analog für den tag ...

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Habs jetzt so :

          <html><head>
          <script Language="JavaScript">
          <!--
          var ZeitString, DatumsString;
          function ZeitDatum () {
                  Jetzt = new Date();
                  Tag= Jetzt.getDate();
                  Monat= Jetzt.getMonth()+1;
                  Jahr= Jetzt.getYear();
                          // Probleme mit 2-stelligen Jahreszahlen in einigen Browsern umgehen
                          if ((Jahr > 99) && (Jahr < 1900)) Jahr += 1900;
                          Jahr -= 2000;

          DatumsString= ((Tag<10) ? "0" : ".") + Tag;
                  DatumsString+= ((Monat<10) ? ".0" : ".") + Monat;
                  DatumsString+= "." + Jahr;
                  document.Uhr.Datum.value = DatumsString;
                  Timer = setTimeout("ZeitDatum()",1000);}
          // -->
          </script>
          </head>
          <body onLoad="ZeitDatum();">
          <form name="Uhr">
          <input type="text" name="Datum" size="10" value="">
          </form>
          </body></html>

          Das mit der führende Null beim Tag ist so OK.
          Aber die Jahreszahl ist jetzt "5" und nicht "05" wie es sein sollte.
          Also einfach minus 2000 ist doch nicht so richtig ...

          Gruß
          Michael

          1. hi,

            Das mit der führende Null beim Tag ist so OK.

            fein, also hast du was gelernt ...?

            Aber die Jahreszahl ist jetzt "5" und nicht "05" wie es sein sollte.
            Also einfach minus 2000 ist doch nicht so richtig ...

            nein, scheinbar hast du doch nichts gelernt.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
          2. Hallo Michael

            Habs jetzt so :

            DatumsString= ((Tag<10) ? "0" : ".") + Tag;
                    DatumsString+= ((Monat<10) ? ".0" : ".") + Monat;
                    DatumsString+= "." + Jahr;

            Das mit der führende Null beim Tag ist so OK.
            Aber die Jahreszahl ist jetzt "5" und nicht "05" wie es sein sollte.
            Also einfach minus 2000 ist doch nicht so richtig ...

            Den Tag und den Monat formatierts du ja auch entsprechend
            Tausch doch einfach mal die letzte (zitierte) Zeile in

            DatumsString+= ((Jahr<10) ? ".0" : ".") + Jahr;

            liebe Grüße
            mbr

            P.S.: hier gibts mehr zum ? Operator

        2. Hi,

          das script reagiert doch derzeit schon darauf, dass einige browser das jahr nur zweilstellig liefern.

          oder dreistellig ...

          getYear() sollte das Jahr nicht zweistellig, sondern abzüglich 1900 liefern. alert((new Date()).getYear()) liefert in Geckos und Operas 105.
          getFullYear() sollte die komplette Jahreszahl liefern, muß aber, da nicht von Anfang an in Javascript, natürlich auf Existenz geprüft werden.

          cu,
          Andreas

          --
          Warum nennt sich Andreas hier MudGuard?
          Schreinerei Waechter
          Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
          1. hi,

            getYear() sollte das Jahr nicht zweistellig, sondern abzüglich 1900 liefern.

            sollte, ja - aber der IE ...

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }