MonatsNAME bei Datumsanzeige statt MonatsZAHL anzeigen - WIE?

onesignature schrieb am 08.10.2014 um 22:50 Uhr

Hallo MAGIXs,

mit folgendem Code möchte ich eine stets aktuelle Datums- und Uhrzeitanzeige auf eine Website einbauen.

Dies funktioniert auch wunderbar. Jedoch bleibt ein kleines Problem:

WAS muss ich an folgendem Code ändern, damit bei der Ausgabe nicht die MONATSZAHL sondern der MONATSNAME aufscheint?

Ich habe stundenlang versucht mich schlauzumachen und den Code immer wieder umgeschrieben aber es half nichts - daher hoffe ich auf Eure Hilfe.

 

DIES IST DER FUNKTIONIERENDE CODE

<script type="text/javascript" src="VERZEICHNIS ZUR DATEI dhtml.js"></script> 

<html><head>
<title>Test</title>
<script type="text/javascript" src="dhtml.js"></script>
<script type="text/javascript">
function ZeitAnzeigen () {
  var Wochentagname = new Array("sonntag", "montag", "dienstag", "mittwoch",
                                "donnerstag", "freitag", "samstag");
  var Jetzt = new Date();
  var Tag = Jetzt.getDate();
  var Monat = Jetzt.getMonth() + 1;
  var Jahr = Jetzt.getYear();
  if (Jahr < 999)
    Jahr += 1900;
  var Stunden = Jetzt.getHours();
  var Minuten = Jetzt.getMinutes();
  var Sekunden = Jetzt.getSeconds();
  var WoTag = Jetzt.getDay();
  var Vortag = (Tag < 10) ? "0" : "";
  var Vormon = (Monat < 10) ? ".0" : ".";
  var Vorstd = (Stunden < 10) ? "0" : "";
  var Vormin = (Minuten < 10) ? ":0" : ":";
  var Vorsek = (Sekunden < 10) ? ":0" : ":";
  var Datum = Vortag + Tag + Vormon + Monat + "." + Jahr;
  var Uhrzeit = Vorstd + Stunden + Vormin + Minuten + Vorsek + Sekunden;
  var Gesamt = Wochentagname[WoTag] + ", " + Datum + " / " + Uhrzeit + " uhr ";

  if (DHTML) {
    if (NS4) {
      setContent("id", "Uhr", null, '<span class="Uhr">' + Gesamt + "<\/span>");
    } else {
      setContent("id", "Uhr", null, Gesamt);
    }
    window.setTimeout("ZeitAnzeigen()", 1000);
  }
}

</script>
<style type="text/css">
#Uhr { position:right; top:0px; left:0px; }
.Uhr { font-family:verdana; font-size:14px; color:black; }
</style>

<div style="text-align: right">
<style type="text/css">
body {
    overflow:hidden;
}
</style>


</head>
<body onload="window.setTimeout('ZeitAnzeigen()', 1000)">

<div id="Uhr" class="Uhr">&nbsp;</div>

 

CODE ENDE

 

Was muss ich nun darin ändern / hinzufügen, damit das ausgegebene Format nicht

montag, 01. 01. 2014 / 24:00:00 uhr

ist, sondern

montag, 01. Januar 2014 / 24:00:00 uhr

 

DANKE!!!

Kommentare

BilderMacher schrieb am 09.10.2014 um 05:01 Uhr

Es fehlt in dem Code von SelfHTML eine Variable für die Monate

var monatname = new Array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli",
"August", "September", "Oktober", "November", "Dezember");

 

Ein anderes Script mit allen nötigen Variablen ist hier:

http://marco.seaside-graphics.de/programmierung/javascript/javascript-datum-und-uhrzeit-mit-sekundenanzeige-ausgeben

 

Zuletzt geändert von BilderMacher am 09.10.2014, 05:01, insgesamt 1-mal geändert.

"Je mehr die Menschen wissen, desto weniger müssen sie glauben!"

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Ich kann vieles, darf aber nicht alles.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

-------------

Hardware / Software:
::::::::::::::::::::::::::::::::::::++++:::::::::::::::::::::::::::::::::::::::::::::::::

Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz (8 CPUs), ~2.3GHz
12288 MB RAM
DirectX 12
 

Intel(R) UHD Graphics (für Import, Verarbeitung, Export)

NVIDIA GeForce MX250 (wird nicht in Schnitt-SW verwendet)

  • Video deluxe 2016 Premium
  • Video deluxe 2024 Premium
  • Video Pro X 15
  • Photostory Deluxe 2024
  • Samplitude X7 Suite
  • ACID Pro 11
  • Music Maker 2025 Premium
  • MAGIX/XARA Graphic-/Web-Designer

-----------------------------------------------------------------------------------

Edition    Windows 10 Home
Version    22H2
Installiert am    ‎15.‎10.‎2020
Betriebssystembuild    19045.4717
Leistung    Windows Feature Experience Pack 1000.19060.1000.0

------------------------------------------------------------------------------------

Browser: Mozilla Firefox 128.0 (64-Bit)

onesignature schrieb am 09.10.2014 um 13:35 Uhr

Hallo BilderMacher,

besten Dank für deine Antwort!

das mit dem einfügen der fehlenden Variable hab ich jedoch bereits selbst versucht - es klappte aber nicht weil ich leider nicht weiß, wo genau ich sie einfügen muss bzw. was man am code noch ändern muss (das einfügen alleine reicht nicht), damit es richtig angezeigt wird.

Daher hab ich inzwischen das von dir verlinkte Script genommen, welches bestens funktioniert - danke!

 

+++

 

Solltest du Zeit haben, würde es mich freuen, wenn du mir trotzdem noch schreiben könntest, wo genau und wie ich genau die variable im erstgenanntem Code einfügen muss bzw was ich noch ändern muss daran. Für mich als Laien wäre es das Beste, wenn du den kompletten Code dazu sendest : )

Und weil du mir als versiert erscheinst - wollte ich dich noch fragen, ob du ein fertiges script hast, mit dem auf der website angezeigt wird, wann Selbige zuletzt upgedatet wurde - und zwar im gleichen Format wie die Datums / Uhranzeige - nämlich so:

Das letzte Update dieser website fand statt am Montag, dem 01. Januar 2014

Das wäre wirklich 'der hammer' ; )

BeRo schrieb am 11.10.2014 um 20:49 Uhr

[...] weil ich leider nicht weiß, wo genau ich sie einfügen muss bzw. was man am code noch ändern muss [...]

Probier's mal so:


Die grün markierten Zeilen sind neu. Sie müssen also komplett an den o. a. angegebenen Stellen eingetragen werden.

Die gelb markierten Zeilen wurden geändert. Sie müssen also im Originalscript ebenfalls (wie im Screenshot sichtbar) geändert werden.
Dabei habe ich vorausgesetzt, dass Du die JS Bibliothek "dhtml.js" im selben Verzeichnis liegen hast, in dem die Startdatei "index.htm" liegt.

Das vollständige- und für die Ausgabe verbesserte Script sieht dann so aus:

-----------------------------
Die folgenden Zeilen gehören in den HTML Head eines Platzhalters

<script type="text/javascript" src="./dhtml.js"></script>
<script type="text/javascript">

function ZeitAnzeigen () {
  var Tagname = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
  var Monatname = new Array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
  var Jetzt = new Date();
  var Tag = Jetzt.getDate();
  var Monat = Jetzt.getMonth();
  var Monat = Monatname[Monat];
  var Jahr = Jetzt.getYear();
  if (Jahr < 999) Jahr += 1900;
  var Stunden = Jetzt.getHours();
  var Minuten = Jetzt.getMinutes();
  var Sekunden = Jetzt.getSeconds();
  var WoTag = Jetzt.getDay();
  var Vortag = (Tag < 10) ? "0" : "";
  var Vormon = (Monat < 10) ? ".0" : ".";
  var Vorstd = (Stunden < 10) ? "0" : "";
  var Vormin = (Minuten < 10) ? ":0" : ":";
  var Vorsek = (Sekunden < 10) ? ":0" : ":";
  var Datum = Vortag + Tag + ". " + Monat + " " + Jahr;
  var Uhrzeit = Vorstd + Stunden + Vormin + Minuten + Vorsek + Sekunden;
  var Gesamt = Tagname[WoTag] + ", " + Datum + " / " + Uhrzeit + " Uhr ";

  if (DHTML) {
    if (NS4) {
      setContent("id", "Uhr", null, '<span class="Uhr">' + Gesamt + "<\/span>");
    } else {
      setContent("id", "Uhr", null, Gesamt);
    }
    window.setTimeout("ZeitAnzeigen()", 1000);
  }
}
</script>

<style type="text/css">
a * {text-decoration:none;}
#Uhr { position:right; top:0px; left:0px; }
.Uhr { font-family:verdana; font-size:12px; color:#98b534;  text-align:right; }
</style>

Die folgenden Zeilen gehören in den HTML Body des o. a. Platzhalters:

<body onload="window.setTimeout('ZeitAnzeigen()', 1000)">
<div id="Uhr" class="Uhr"> &nbsp;</div>

-----------------------------

[...] ob du ein fertiges script hast, mit dem auf der website angezeigt wird, wann Selbige zuletzt upgedatet wurde [...]

Dazu kursieren jede Menge Beispiele im WWW, die relativ leicht so anzupassen sind, dass sie genau das tun...

So könnte ein vollständiges Script aussehen:

-----------------------------
Die folgenden Zeilen gehören in den HTML Head eines Platzhalters

<!-- Datum der letzten Änderung ermitteln -->
<script type="text/javascript">
<!--
function modifySite()
{
var Monatname = ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"];
var Tagname = ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"];
var date = new Date();
date.setTime(Date.parse(document.lastModified));
var prehour = (date.getHours() < 10) ? "0" : "";
var premin = (date.getMinutes() < 10) ? "0" : "";
return Tagname[date.getDay()] + ", " + "den " + date.getDate() + ". "+ Monatname[date.getMonth()] + " " + date.getFullYear() + " / "  + prehour + date.getHours() + ":" + premin + date.getMinutes() + " Uhr";
}
// -->
</script>

Die folgenden Zeilen gehören in den HTML Body des o. a. Platzhalters:

<!-- Datum der letzten Änderung anzeigen -->
<script type="text/javascript">
document.writeln('<a style=\'font-family:verdana; font-size:12px; color:green;\'> Die Website wurde zuletzt aktualisiert am <BR>' + modifySite());
</script>

-----------------------------

Die in den o. a. Scriptbeispielen grün markierten Einträge kannst Du nach Belieben anpassen...

Wenn Du alles richtig in die 2 Platzhalter "eingebaut" hast, kann das Ergebnis so aussehen:


Viel Erfolg

Zuletzt geändert von BeRo am 11.10.2014, 20:49, insgesamt 1-mal geändert.

Auf den Tag genau gehen heute, am 14.08.2021, 10 Jahre online Support für die Community zu Ende.
Ich freue mich auf eine neue, berufliche Herausforderung, die sich gerade ergeben hat. Leider bleibt dann keine Zeit mehr für die Community übrig, aber Ihr seid bei den aktiven Mitgliedern in besten Händen.
Sicher schaue ich auch ab und zu nochmal rein... 🤓

onesignature schrieb am 11.10.2014 um 23:27 Uhr

BERO = HERO

Vielen Dank!

 

Trotzdem bleibt noch eine Frage - sofern du Zeit hast würde ich mich über eine Antwort freuen:

Bezüglich dem zweiten Script, welches das zuletzt durchgeführte Update (gemeint ist das Datum + die Uhrzeit der zuletzt vom Webmaster durchgeführten Änderungen auf der Website) der Website anzeigen soll - es zeigt leider trotz Befolgung aller Schritte

nicht den Zeitpunkt des zuletzt durchgeführten Updates / Änderungen durch den Webmaster an

SONDERN

die Uhrzeit, an welcher die Seite der Webseite zuletzt aktualisiert, also neu geladen wurde

 

Woran das wohl liegen könnte?

BeRo schrieb am 11.10.2014 um 23:39 Uhr

[...] es zeigt leider [...] die Uhrzeit, an welcher die Seite der Webseite zuletzt aktualisiert, also neu geladen wurde [...]

Wenn Du mit "neu geladen" meinst dass der Zeitpunkt des letzten Uploads angezeigt wird, dann ist das korrekt und genau das ist ja auch gewollt.

Dahinter steht die Vermutung, dass ein Upload des Seiteninhalts nur dann erfolgt, wenn tatsächlich eine Änderung des Inhalts- oder des Layouts vorausgegangen ist.
Natürlich wird das Datum des letzten Uploads auch dann als Änderungsdatum angezeigt, wenn zuvor keine Änderungen am Inhalt vorgenommen wurden.
Allerdings ist das kein Fehlverhalten des Scripts, sondern eine unnötige Aktion des Webmasters...

Oder habe ich Deinen Einwand falsch verstanden?

 

Zuletzt geändert von BeRo am 11.10.2014, 23:39, insgesamt 1-mal geändert.

Auf den Tag genau gehen heute, am 14.08.2021, 10 Jahre online Support für die Community zu Ende.
Ich freue mich auf eine neue, berufliche Herausforderung, die sich gerade ergeben hat. Leider bleibt dann keine Zeit mehr für die Community übrig, aber Ihr seid bei den aktiven Mitgliedern in besten Händen.
Sicher schaue ich auch ab und zu nochmal rein... 🤓

onesignature schrieb am 11.10.2014 um 23:53 Uhr

Nein - mit 'neu geladen' meinte ich 'das, was jeder Besucher der Website tun kan' :) - nämlich F5 / Seite aktualisieren / Symbol Kreispfeil im Browser.

Und genau diese Uhrzeit - also die aktuelle - wird da (mit diesem Script) angezeigt (und bleibt dann statisch - bis man die Seite wieder aktualisiert (F5). Es wird im Grunde einfach die aktuelle Uhrzeit abgerufen - und eben nicht die Uhrzeit des zuletzt durchgeführten Uploads durch den WM.

BeRo schrieb am 12.10.2014 um 00:42 Uhr

[...] genau diese Uhrzeit - also die aktuelle - wird da (mit diesem Script) angezeigt [...]

Hmmm, da hast Du scheinbar irgendwo einen Knoten eingebaut.

Dass das Script genau das tut, wofür es angelegt wurde, das kannst Du hier leicht kontrollieren.
Am Ende der Testseite findest Du 2 Einträge.

1.) Das aktuelle Datum

2.) Das Datum der letzten Änderung (des letzten Uploads)

Das 2. Datum kann von Dir natürlich nicht geändert werden, auch dann nicht, wenn Du den Browsercache leerst und die Seite neu öffnest.

Probier's mal...

Zuletzt geändert von BeRo am 12.10.2014, 00:42, insgesamt 1-mal geändert.

Auf den Tag genau gehen heute, am 14.08.2021, 10 Jahre online Support für die Community zu Ende.
Ich freue mich auf eine neue, berufliche Herausforderung, die sich gerade ergeben hat. Leider bleibt dann keine Zeit mehr für die Community übrig, aber Ihr seid bei den aktiven Mitgliedern in besten Händen.
Sicher schaue ich auch ab und zu nochmal rein... 🤓

onesignature schrieb am 12.10.2014 um 15:55 Uhr

Muss wohl so sein - es scheint eh so einfach zu sein (wie anhand deiner Bsp. - Seite ersichtlich ist) und dennoch klappt es bei mir nicht - ich habe exakt (natürlich + inkl. vollständiger URL zur dhtml.js - Datei) den folgenden Code in einen Platzhalter kopiert:

<head>

<script type="text/javascript" src="./dhtml.js">
</script>

<script type="text/javascript">
<!--
function modifySite()
{
var Monatname = ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"];
var Tagname = ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"];
var date = new Date();
date.setTime(Date.parse(document.lastModified));
var prehour = (date.getHours() < 10) ? "0" : "";
var premin = (date.getMinutes() < 10) ? "0" : "";
var presec = (date.getSeconds() < 10) ? "0" : "";
return Tagname[date.getDay()] + ", " + "dem " + date.getDate() + ". "+ Monatname[date.getMonth()] + " " + date.getFullYear() + " um "  + prehour + date.getHours() + ":" + premin + date.getMinutes() + ":" + presec + date.getSeconds() + " Uhr ";
}
// -->
</script>

</head>

<body>

<!-- Datum der letzten Änderung anzeigen -->
<script type="text/javascript">
document.writeln('<a style=\'font-family:verdana; font-size:14px; color:#000000;\'>Das letzte Update dieser Website wurde durchgeführt am' + "<br>" + modifySite());
</script>

<style type="text/css">
body {overflow:hidden;}

</style>

</body>

 

Könnte es vielleicht daran liegen, dass dieselbe dhtml.js - Datei auch von einem weiteren Script (welches ganz normal das aktuelle Datum / die aktuelle Uhrzeit anzeigt) genutzt wird? Ich meine einen anderen Platzhalter, welcher diese Datei abruft.Oder ist diese eine Datei sozusagen ausreichend für alle Scripts, welche sie benötigen?

Oder liegt es daran, dass ich die Anzeige der Skunden eingefügt habe?

 

Ich will dich nicht nerven mit meinen Scriptproblemen - dennoch würde ich mich über eine weitere Antwort freuen - egal wann.

danke

 

BeRo schrieb am 12.10.2014 um 17:31 Uhr

[...] ich habe exakt [...] den folgenden Code in einen Platzhalter kopiert: [...]

Wenn Du wirklich den kompletten Scriptcode, so wie Du ihn gepostet hast, in einen Platzhalter kopiert hast, dann kann das nicht funktionieren.

Die beiden hier von mir vorgeschlagenen Scriptlets gliedern sich in je 2 Teile. Ein Teil gehört in den HTML Head eines Platzhalters (oder auch in den HTML Head einer Seite), der zweite Teil gehört in den HTML Body eines Platzhalters.
Die "Head" und "Body" Tags, die in dem von Dir geposteten Scriptcode sichtbar sind, gehören da nicht hinein. Die stehen ja schon im Code der Website.

Zum Test solltest Du auch nur die Zeilen übernehmen, die ich gepostet habe. Jede Ergänzung und/oder Änderung kann zu unvorhersehbaren Ergebnissen führen.

[...] Oder liegt es daran, dass ich die Anzeige der Skunden eingefügt habe? [...]

Nein, die Änderung ist harmlos...

[...] Könnte es vielleicht daran liegen, dass dieselbe dhtml.js - Datei auch von einem weiteren Script [...] genutzt wird? [...]

Nein, auf die JS Bibliothek wird ja nur lesend zugegriffen.

[...] und dennoch klappt es bei mir nicht [...]

Ohne Zugriff auf die Seite zu haben, die Dir Probleme macht, kann ich über die Ursache nur Vermutungen anstellen.

Da Du nach einem Reload der Seite als Änderungsdatum das aktuelle Datum- und die aktuelle Uhrzeit siehst, ist es wahrscheinlich, dass ein im Hintergrund werkelndes (PHP?) Script den Inhalt der aufgerufenen Seite modifiziert.
Die üblichen Verdächtigen sind z. B. Newsticker-, Formulare mit Captcha Codes-, Slideshows mit externem Inhalt-, usw.

Derartige Modifikationen, werden als Änderungen der Seite protokolliert und dementsprechend im Änderungsdatum korrekt angezeigt. Da Du diese Änderungen nicht bewusst vorgenommen hast, interpretierst Du die Anzeige dann als Fehler.

Wenn Du uns die URL Deiner Site "verrätst" lässt sich evtl. mehr sagen...

Viel Erfolg

Zuletzt geändert von BeRo am 12.10.2014, 17:31, insgesamt 1-mal geändert.

Auf den Tag genau gehen heute, am 14.08.2021, 10 Jahre online Support für die Community zu Ende.
Ich freue mich auf eine neue, berufliche Herausforderung, die sich gerade ergeben hat. Leider bleibt dann keine Zeit mehr für die Community übrig, aber Ihr seid bei den aktiven Mitgliedern in besten Händen.
Sicher schaue ich auch ab und zu nochmal rein... 🤓

onesignature schrieb am 12.10.2014 um 18:27 Uhr

Danke für die rasche und vorallem aufschlussreiche Antwort - und das sogar Sonntags :)

Ich habe einen (durchgängig auf allen Sites der Website sichtbaren Newsticker eingebaut - das wird dann wohl der Grund sein. Ich muss dann mal sehen, welchen 'Kompromiss' ich finde, damit es läuft wie es soll.

Bekanntgeben möchte ich meine Seite erst wenn sie fertig ist.

 

Mit besten Grüßen und nochmals danke für sämtliche Hilfestellungen!