450 Stimmen

Wie erhalte ich Monat und Datum von JavaScript im 2-stelligen Format?

Wenn wir anrufen getMonth() y getDate() en date Objekt, erhalten wir die single digit number . Zum Beispiel :

Für january wird angezeigt 1 aber ich muss es anzeigen als 01 . Wie kann man das tun?

3voto

Sasha Larson Punkte 41

Ich würde vorschlagen, dass Sie eine andere Bibliothek namens Moment verwenden https://momentjs.com/

Auf diese Weise können Sie das Datum direkt formatieren, ohne zusätzliche Arbeit leisten zu müssen.

const date = moment().format('YYYY-MM-DD')
// date: '2020-01-04'

Vergewissern Sie sich, dass Sie den Moment auch importieren, um ihn nutzen zu können.

yarn add moment 
# to add the dependency

import moment from 'moment' 
// import this at the top of the file you want to use it in

Ich hoffe, das hilft :D

2voto

i100 Punkte 4263

Und eine andere Version hier https://jsfiddle.net/ivos/zcLxo8oy/1/ hoffen, nützlich zu sein.

var dt = new Date(2016,5,1); // just for the test
var separator = '.';
var strDate = (dt.getFullYear() + separator + (dt.getMonth() + 1) + separator + dt.getDate());
// end of setup

strDate = strDate.replace(/(\b\d{1}\b)/g, "0$1")

2voto

Die Antworten hier waren hilfreich, aber ich brauche mehr als das: nicht nur Monat, Datum, Monat, Stunden & Sekunden, für einen Standardnamen.

Interessanterweise war das Voranstellen von "0" für alle oben genannten Fälle erforderlich, während "+ 1" nur für den Monat benötigt wurde, nicht für andere.

Ein Beispiel:

("0" + (d.getMonth() + 1)).slice(-2)     // Note: +1 is needed
("0" + (d.getHours())).slice(-2)         // Note: +1 is not needed

2voto

Emrah KAYNAR Punkte 11
function GetDateAndTime(dt) {
  var arr = new Array(dt.getDate(), dt.getMonth(), dt.getFullYear(),dt.getHours(),dt.getMinutes(),dt.getSeconds());

  for(var i=0;i<arr.length;i++) {
    if(arr[i].toString().length == 1) arr[i] = "0" + arr[i];
  }

  return arr[0] + "." + arr[1] + "." + arr[2] + " " + arr[3] + ":" + arr[4] + ":" + arr[5]; 
}

1voto

Jayanth G Punkte 59

Wenn Sie möchten, dass die Funktion getDate() das Datum als 01 anstelle von 1 zurückgibt, finden Sie hier den entsprechenden Code: .... Angenommen das heutige Datum ist 01-11-2018

var today = new Date();
today = today.getFullYear()+ "-" + (today.getMonth() + 1) + "-" + today.getDate();      
console.log(today);       //Output: 2018-11-1

today = today.getFullYear()+ "-" + (today.getMonth() + 1) + "-" + ((today.getDate() < 10 ? '0' : '') + today.getDate());
console.log(today);        //Output: 2018-11-01

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X