546 Stimmen

Get String in YYYYMMDD Format von JS Datum Objekt?

Ich versuche, JS zu verwenden, um eine date object in eine Zeichenkette in YYYYMMDD Format. Gibt es einen einfacheren Weg als die Verkettung von Date.getYear() , Date.getMonth() y Date.getDay() ?

24voto

Dormouse Punkte 1497

Einfache JS (ES5)-Lösung ohne mögliche Probleme mit Datumssprüngen, die durch Date.toISOString() beim Drucken in UTC verursacht werden:

var now = new Date();
var todayUTC = new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate()));
return todayUTC.toISOString().slice(0, 10).replace(/-/g, '');

Dies als Antwort auf den Kommentar von @weberste zur Antwort von @Pierre Guilbert.

12voto

Kus Punkte 2501
// UTC/GMT 0
document.write('UTC/GMT 0: ' + (new Date()).toISOString().slice(0, 19).replace(/[^0-9]/g, "")); // 20150812013509

// Client local time
document.write('<br/>Local time: ' + (new Date(Date.now()-(new Date()).getTimezoneOffset() * 60000)).toISOString().slice(0, 19).replace(/[^0-9]/g, "")); // 20150812113509

12voto

trincot Punkte 257127

Eine andere Möglichkeit ist die Verwendung von toLocaleDateString mit einem Gebietsschema, das eine Big-Endian-Datumsformat Standard wie z. B. Schweden, Litauen, Ungarn, Südkorea, ...:

date.toLocaleDateString('se')

Um die Begrenzungszeichen zu entfernen ( - ) müssen lediglich die nicht vorhandenen Ziffern ersetzt werden:

console.log( new Date().toLocaleDateString('se').replace(/\D/g, '') );

Dies hat nicht den möglichen Fehler, der bei UTC-Datumsformaten auftreten kann: Das UTC-Datum kann im Vergleich zum Datum in der lokalen Zeitzone um einen Tag abweichen.

10voto

Tomas Šivickas Punkte 859
var someDate = new Date();
var dateFormated = someDate.toISOString().substr(0,10);

console.log(dateFormated);

8voto

Milkncookiez Punkte 5833

Datumsformat ist ein viel genutztes Paket.

Wie zu verwenden:

Herunterladen und installieren dateformat von NPM. Benötigen Sie es in Ihrem Modul:

const dateFormat = require('dateformat');

und formatieren Sie dann einfach Ihr Material:

const myYYYYmmddDate = dateformat(new Date(), 'yyyy-mm-dd');

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