webentwicklung-frage-antwort-db.com.de

Wie erhalte ich ein Datum im Format JJJJ-MM-TT?

Normalerweise, wenn ich das Datum haben wollte, konnte ich einfach so etwas tun

var d = new Date(); console.log(d);

Das Problem dabei ist, wenn ich diesen Code ausführe, wird Folgendes ausgegeben:

Mo Aug 24 2015 4:20:00 GMT-0800 (pazifische Normalzeit)

Wie kann ich die Date () -Methode erhalten, um einen Wert in einem "MM-DD-YYYY" -Format zurückzugeben, so würde es etwa Folgendes zurückgeben:

24.08.2015

Oder vielleicht MM-DD-JJJJ H: M

24.08.2016 4:20 Uhr

5
OneStig

Der folgende Code ist eine Möglichkeit, dies zu tun. Wenn Sie ein Datum haben, übergeben Sie es an die Funktion convertDate(). Es wird eine Zeichenfolge im Format JJJJ-MM-DD zurückgegeben:

var todaysDate = new Date();

function convertDate(date) {
  var yyyy = date.getFullYear().toString();
  var mm = (date.getMonth()+1).toString();
  var dd  = date.getDate().toString();

  var mmChars = mm.split('');
  var ddChars = dd.split('');

  return yyyy + '-' + (mmChars[1]?mm:"0"+mmChars[0]) + '-' + (ddChars[1]?dd:"0"+ddChars[0]);
}

console.log(convertDate(todaysDate)); // Returns: 2015-08-25
7
Patrick2607

Verwenden Sie einfach die integrierte .toISOString()-Methode wie folgt: toISOString().split('T')[0]. Einfach, sauber und alles in einer Zeile.

var date = (new Date()).toISOString().split('T')[0];
document.getElementById('date').innerHTML = date;
<div id="date"></div>

Bitte beachten Sie, dass die Zeitzone der formatierten ZeichenfolgeUTCund nicht die Ortszeit ist.

20
leaksterrr

Noch ein anderer Weg:

var today = new Date().getFullYear()+'-'+("0"+(new Date().getMonth()+1)).slice(-2)+'-'+("0"+new Date().getDate()).slice(-2)
document.getElementById("today").innerHTML = today
<div id="today">

2
maxagaz

Was Sie erreichen möchten, kann mit nativem JavaScript erreicht werden. Das Objekt Date verfügt über Methoden, die genau die Ausgabe erzeugen, die Sie wünschen.
Hier sind Codebeispiele:

var d = new Date();
console.log(d);
>>> Sun Jan 28 2018 08:28:04 GMT+0000 (GMT)
console.log(d.toLocaleDateString());
>>> 1/28/2018
console.log(d.toLocaleString());
>>> 1/28/2018, 8:28:04 AM

Das Rad muss wirklich nicht neu erfunden werden.

1
cezar
function formatdate(userDate){
  var omar= new Date(userDate);
  y  = omar.getFullYear().toString();
  m = omar.getMonth().toString();
  d = omar.getDate().toString();
  omar=y+m+d;
  return omar;
}
console.log(formatDate("12/31/2014"));
1
Omar Khaiyam

Hier ist eine einfache Funktion, die ich erstellt habe, als ich weiter an einem Projekt arbeitete, bei dem ich ständig heute, gestern und morgen das Datum in diesem Format erhalten musste. 

function returnYYYYMMDD(numFromToday = 0){
  let d = new Date();
  d.setDate(d.getDate() + numFromToday);
  const month = d.getMonth() < 9 ? '0' + (d.getMonth() + 1) : d.getMonth() + 1;
  const day = d.getDate() < 10 ? '0' + d.getDate() : d.getDate();
  return `${d.getFullYear()}-${month}-${day}`;
}

console.log(returnYYYYMMDD(-1)); // returns yesterday
console.log(returnYYYYMMDD()); // returns today
console.log(returnYYYYMMDD(1)); // returns tomorrow

Kann leicht geändert werden, um stattdessen ein Datum zu übergeben, aber hier übergeben Sie eine Nummer und es wird so viele Tage von heute zurückgegeben.

0
Lou Bagel

Mit der Bibliothek moment.js können Sie Folgendes tun:

var datetime = new Date ("2015-09-17 15:00:00"); datetime = moment (datetime) .format ("JJJJ-MM-TT");

0
usman tahir
var today = new Date();

function formatDate(date) {
 var dd = date.getDate();
        var mm = date.getMonth() + 1; //January is 0!
        var yyyy = date.getFullYear();
        if (dd < 10) {
          dd = '0' + dd;
        }
        if (mm < 10) {
          mm = '0' + mm;
        }
        //return dd + '/' + mm + '/' + yyyy;
             return yyyy + '/' + mm + '/' +dd ;

}

console.log(formatDate(today));
0
user12094423

Wenn Sie versuchen, die Datumszeichenfolge "local-ISO" abzurufen. Versuchen Sie den Code unten.

function (date) {
    return new Date(+date - date.getTimezoneOffset() * 60 * 1000).toISOString().split(/[TZ]/).slice(0, 2).join(' ');
}

+date Holen Sie sich Millisekunden von einem Datum.

Ref: Date.prototype.getTimezoneOffset Viel Spaß damit :)

0
Fisher