Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

problem mit datumsfunktion!





Frage

Halla @ all, kann mir jemand helfen. Ich hab diesen script aus dem internet und ich kenn mich mit JS überhaupt nicht aus. [code]<script LANGUAGE="JavaScript"> <!-- var Datum = new Date(document.lastModified); var Monate = new Array("Januar","Februar","März","April","Mai","Juni","Juli","Aug.","Sept.","Okt,","Nov.","Dez."); document.write("... war am " + Datum.getDate() + ". " + Monate[Datum.getMonth()] + " " + Datum.getYear()+"."); //--> </script>[/code] und ich habe folgenden fehler: auf der hp wird immer [i]... war am 25. April [b]1[/b]07.[/i] mit dieser [b]1[/b] vor der jahreszahl was muss ich da ändern??? MfG Timoxy

Antwort 1 von FunTaOnIce

Tach zusammen,

naja das liegt an der getYear methode und deren verschiedenen spezifikationen und interpretationen der browser. Beste abhilfe dagegen ist statt getYear einfach getFullYear zu verwenden.

mfg
FTOI

Antwort 2 von rfb

Zitat:
was muss ich da ändern
nun ja, so ziemlich viel.

Dieses Script ist ziemlich veraltet und heutzutage nicht mehr zu empfehlen.

Als Ersatz böte sich sowas an:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>test</title>
<script type="text/javascript">
function letzte_aenderung() {
var Datum = new Date(document.lastModified);
var Monate = ["Jan.", "Feb.", "März", "April", "Mai", "Juni", "Juli", "Aug.", "Sept.", "Okt,", "Nov.", "Dez."];
var wo = document.getElementById("geaendert");
if (wo) wo.firstChild.data = "am " + Datum.getDate() + ". " + Monate[Datum.getMonth()] + " " + Datum.getFullYear();
}
window.onload=function() {
letzte_aenderung();
}
</script>
</head>
<body>
<h1>Test</h1>
<p>Die letzte Änderung dieser Datei war <span id="geaendert">vor langer Zeit</span>.</p>
</body>
</html>


Also:
  • kein "
    language
    " mehr, wurde schon vor langer Zeit durch
    type
    ersetzt.
  • keine Kommentarzeichen <!-- und //--> mehr, da seit ca 10 Jahren die Browser JavaScript verstehen.
  • kein document.write-Rumgewüte im Quellcode (überhaupt kein JavaScript im body) sondern Änderung des Seiteninhalts nach dem Laden der Seite (
    window.onload
    ) durch eine entsprechende Funktion.
  • und natürlich das seit dem Jahre 2000 sinnvollere
    getFullYear


  • Antwort 3 von timoxy

    ok thx jetzt funzts.


    nur hab ich jetzt das problem, dass nicht das datum der letzten änderung angezeigt wird sondern das aktuelle datum, egal ob ich an diesem tag diese datei neu hochlekaden habe oder nicht.


    MfG Timo

    Antwort 4 von LoLo

    Hi, versuchs mal mit diesen Script. Ich verwende es auch.

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>test</title>
    <script type="text/javascript">
    function datum(){
    mn=new Array("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember")
    d=new Date(document.lastModified)
    m=mn[d.getMonth()]
    t=d.getDate()
    jj=d.getYear()
    j=(jj>=2000)?jj:((jj<80)?jj+2000:jj+1900)
    dat=(t+". "+m+" "+j)}
    </script>
    </head>

    <BODY>
    <DIV><SCRIPT language="JavaScript" type="text/javascript">datum(); document.write("Update: " + dat )
    </SCRIPT>
    </DIV>
    </BODY>

    Antwort 5 von rfb

    @lolo:
    du nutzt das veralte getYear, ansonsten gibt es keinen Unterschied!

    @timoxy:
    Welche Version nutzt du denn nun?
    Ist das bei dir überhaupt eine statische Seite?

    Antwort 6 von LoLo

    ..., ob veraltet oder nicht. Es funktioniert wenigstens. Kann ja sein, dass timoxy eine älteren Jscript-Versionen vwerwndet und getFullYear nicht verabeitet wird?

    Antwort 7 von rfb

    JScript? Wir schreiben bislang von JavaScript!

    Das Problem mit der Ausgabe des aktuellen Datums statt lastmodified liegt sicherlich nicht an getFullYear() - Browser die das nicht verstehen würden einfach ganz aussteigen und gar nix ausgeben (außer einer Fehlermeldung).

    Dein Script ist aber nicht nur wegen getYear() nicht zu empfehlen sondern auch aufgrund des Gebrauchs globaler Variablen, der andere Scripte massiv stören würde.

    Ich möchte kostenlos eine Frage an die Mitglieder stellen:


    Ähnliche Themen:


    Suche in allen vorhandenen Beiträgen: