problem mit datumsfunktion!
Halla @ all,
kann mir jemand helfen.
Ich hab diesen script aus dem internet und ich kenn mich mit JS überhaupt nicht aus.
<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>
und ich habe folgenden fehler: auf der hp wird immer
... war am 25. April 107.mit dieser
1 vor der jahreszahl was muss ich da ändern???
MfG Timoxy
Antwort schreiben
Antwort 1 von FunTaOnIce vom 25.04.2019, 23:27 Options
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 vom 26.04.2019, 08:50 Options
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 vom 30.04.2019, 19:04 Options
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 vom 30.04.2019, 21:40 Options
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 vom 01.05.2019, 08:40 Options
@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 vom 01.05.2019, 10:20 Options
..., 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 vom 01.05.2019, 12:08 Options
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.