Frage zu Parametern bei der toLocaleString-Funktion von Date

pkm

Bekanntes Mitglied
Ich habe jetzt wirklich keine Ahnung, was ichfalsch mache, aber der folgende Code, wo ich festlege, dass die Monatsnamen als 2-stellige Strings angezeigt werden sollen und die Tage auch:

Javascript:
<!DOCTYPE html>
<html>
<body>

<script>
  
  var textbody = new Date().toLocaleString('de-DE', {year: 'numeric', month: '2-digit', day: '2-digit'} + '       ');

  alert(textbody);

</script>

</body>
</html>


... der liefert mir 1.9.2020, 13:10:36 anstatt 01.09.2020, 13:10:36.

Dabei habe ich doch die Parameter richtig gesetzt?
 
Was willst Du mit dem + ' ' erreichen? Dadurch machst Du ja aus dem Object Literal einen String - und der wird natürlich nicht so verstanden, wie du es wünscht.

Daher: Nimm das erst einmal raus und du erhältst die Ausgabe "01.09.2020".

Und wenn Du die Uhrzeit auch noch dahinter haben willst, dann mach z.B.:
var textbody = new Date().toLocaleString('de-DE', {year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit'});

Ob das optimal ist oder nicht, darf man mich nicht fragen. JavaScript vermeide ich so gut es eben geht 🙂
 
Um das evtl. noch zu veranschaulichen: Mach die eine Zeile nur mal zu:
var textbody = {year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit'} + 'text';

Dann bekommst Du ausgegeben, was zu so einem Konstrukt wird. Das Object Literal wird dann zu einem String gemacht und wird "[object Object]" und da wird dann das "text" drangehängt.... also absolut nicht mehr das, was da erwartet wird.
 

Neue Themen


Zurück
Oben