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
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.was muss ich da ändern
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:
language" mehr, wurde schon vor langer Zeit durch type ersetzt.window.onload) durch eine entsprechende Funktion.getFullYearAntwort 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
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>
<!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?
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.
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.

