3002 Stimmen

Wie kann ich das aktuelle Datum in JavaScript abfragen?

Wie kann ich das aktuelle Datum in JavaScript abfragen?

474 Stimmen

var currentTime = new Date();

18 Stimmen

Siehe die Dokumentation für das Date-Objekt . Sie enthält Beispiele.

5 Stimmen

Dies würde Ihnen helfen tizag.com/javascriptT/javascriptdate.php

11voto

Cam Punkte 343

LETZTE ÄNDERUNG: 8/23/19 Die datum-fns Bibliothek funktioniert ähnlich wie moment.js hat aber eine WEGEN kleinere Grundfläche. Sie ermöglicht es Ihnen, die Funktionen auszuwählen, die Sie in Ihr Projekt aufnehmen möchten, so dass Sie nicht die gesamte Bibliothek kompilieren müssen, um das heutige Datum zu formatieren. Wenn eine minimale Bibliothek eines Drittanbieters für Ihr Projekt nicht in Frage kommt, empfehle ich die akzeptierte Lösung von Samuel Meddows weiter oben.

Die Geschichte zu bewahren, weil sie ein paar Leuten geholfen hat. Aber für das Protokoll ist es ziemlich hacky und wahrscheinlich ohne Vorwarnung zu brechen, wie die meisten der Lösungen auf diesem Beitrag sind

BEARBEITEN 2/7/2017 Eine einzeilige JS-Lösung:

tl;dr

var todaysDate = new Date(Date.now()).toLocaleString().slice(0,3).match(/[0-9]/i) ? new Date(Date.now()).toLocaleString().split(' ')[0].split(',')[0] : new Date(Date.now()).toLocaleString().split(' ')[1] + " " + new Date(Date.now()).toLocaleString().split(' ')[2] + " " + new Date(Date.now()).toLocaleString().split(' ')[3];

edge, ff latest, & chrome return todaysDate = "2/7/2017"
"funktioniert "* im IE10+

Erläuterung

Ich habe herausgefunden, dass IE10 und IE Edge die Dinge ein wenig anders machen. mit new Date(Date.now()).toLocaleString() als Eingabe,

Der IE10 kehrt zurück:

"Tuesday, February 07, 2017 2:58:25 PM"

Ich könnte eine große, lange Funktion schreiben und FTFY. Aber sollten Sie wirklich verwenden moment.js für dieses Zeug. Mein Skript bereinigt dies lediglich und gibt Ihnen die erweitert traditionelle US-Notation: > todaysDate = "March 06, 2017"

IE EDGE kehrt zurück:

"2/7/2017 2:59:27 PM"

Natürlich kann das nicht so einfach sein. Die Datumszeichenfolge von Edge enthält unsichtbare "-"-Zeichen zwischen den einzelnen sichtbaren Zeichen. Es wird also nicht nur geprüft, ob das erste Zeichen eine Zahl ist, sondern auch die ersten drei Zeichen, da sich herausstellt, dass jedes einzelne Zeichen im gesamten Datumsbereich irgendwann ein Punkt oder ein Schrägstrich sein wird. Um die Dinge einfach zu halten, brauchen wir also nur .slice() die ersten drei Zeichen (winziger Puffer für künftige Spielereien) und prüfen dann auf Zahlen. Es sollte wohl beachtet werden, dass diese unsichtbaren Punkte möglicherweise in Ihrem Code bestehen bleiben könnten. Ich würde vielleicht graben in, dass, wenn Sie größere Pläne als nur Drucken dieser Zeichenfolge zu Ihrer Ansicht haben.

aktualisierter Einzeiler:

var todaysDate = new Date(Date.now()).toLocaleString().slice(0,3).match(/[0-9]/i) ? new Date(Date.now()).toLocaleString().split(' ')[0].split(',')[0] : new Date(Date.now()).toLocaleString().split(' ')[1] + " " + new Date(Date.now()).toLocaleString().split(' ')[2] + " " + new Date(Date.now()).toLocaleString().split(' ')[3];

Das zu lesen ist ätzend. Wie wäre es mit:

var dateString = new Date(Date.now()).toLocaleString();
var todaysDate = dateString.slice(0,3).match(/[0-9]/i) ? dateString.split(' ')[0].split(',')[0] : dateString.split(' ')[1] + " " + dateString.split(' ')[2] + " " + dateString.split(' ')[3];

ORIGINALANTWORT

Ich habe einen Einzeiler für Sie:

new Date(Date.now()).toLocaleString().split(', ')[0];

y [1] wird Ihnen die Uhrzeit mitteilen.

10voto

Caiuby Freitas Punkte 262

Ein einfacher Weg, dies zu erreichen (unter Berücksichtigung Ihrer aktuellen Zeitzone und unter Ausnutzung des ISO-Formats yyyy-mm-dd), ist folgender:

let d = new Date().toISOString().substring(0,19).replace("T"," ") // "2020-02-18 16:41:58"

Normalerweise ist dies ein ziemlich universelles kompatibles Datumsformat, das Sie bei Bedarf in einen reinen Datumswert umwandeln können:

Date.parse(d); // 1582044297000

9voto

Akhil Punkte 431

Das können Sie hier nachlesen

var today = new Date();
today = parseInt(today.getMonth()+1)+'/'+today.getDate()+'/'+today.getFullYear()+"\nTime : "+today.getHours()+":"+today.getMinutes()+":"+today.getSeconds();
document.write(today);

Und siehe die Dokumentation für den Date()-Konstruktor. Link

Aktuelles Datum Monat Jahr in React js abrufen

8voto

marverix Punkte 6594

Wenn Sie bei "aktuelles Datum" an "heute" denken, dann könnte dieser Trick für Sie funktionieren:

> new Date(3600000*Math.floor(Date.now()/3600000))
2020-05-07T07:00:00.000Z

Auf diese Weise erhalten Sie heute Datum Instanz mit der Zeit 0:00:00.

Das Funktionsprinzip ist sehr einfach: Wir nehmen den aktuellen Zeitstempel und teilen ihn durch 1 Tag, ausgedrückt in Millisekunden. Wir erhalten einen Bruchteil. Durch die Verwendung von Math.floor wird der Bruch entfernt, und wir erhalten eine ganze Zahl. Multipliziert man diesen Wert nun wieder mit einem Tag (wiederum in Millisekunden), erhält man einen Datumszeitstempel mit der exakten Uhrzeit des Tagesbeginns.

> now = Date.now()
1588837459929
> daysInMs = now/3600000
441343.73886916664
> justDays = Math.floor(daysInMs)
441343
> today = justDays*3600000
1588834800000
> new Date(today)
2020-05-07T07:00:00.000Z

Sauber und einfach.

8voto

Force Bolt Punkte 863
// Try this simple way

const today = new Date();
let date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
console.log(date);

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