Wie erhalte ich das aktuelle Datum in JavaScript?
javascript
date
date-formatting
Suresh Chaganti
quelle
quelle
var currentTime = new Date();
new Date()
Gibt die aktuelle Uhrzeit zurück , nicht das aktuelle Datum . Die Unterscheidung ist wichtig, wenn Sie versuchen, sie mit einem anderen Datum zu vergleichen, das keine Zeitkomponente hat (dh um Mitternacht).Antworten:
Verwenden Sie
new Date()
diese Option , um ein neuesDate
Objekt mit dem aktuellen Datum und der aktuellen Uhrzeit zu generieren .Dadurch erhalten Sie das heutige Datum im Format MM / TT / JJJJ.
Wechseln
today = mm +'/'+ dd +'/'+ yyyy;
Sie einfach in das gewünschte Format.quelle
01
,02
...,09
Date.prototype.toLocaleDateString()
Methode ist eine flexiblere Lösung. Es ist ein Teil von JavaScript seit ECMAScript 5.1 und wird von immergrünen Browsern gut unterstützt. MDN:toLocaleDateString()
Verwenden Sie die
replace
Option, wenn Sie dieutc
Variable wiederverwenden möchten, z. B.new Date(utc)
weil Firefox und Safari ein Datum mit Bindestrichen nicht erkennen.quelle
toUTCString()
Gibt als utc datetime zurück.moment( new Date().toJSON().slice(0, 10) )
Wenn Sie dem Endbenutzer etwas einfaches Hübsches wünschen ...
Also, fixed a small suffix issue in the first version below. Now properly returns suffix.
Dieses Update gibt es in
zweiVarianten, immer noch relativ klein, aber nicht so klein wie meine obige ursprüngliche Antwort. Wenn Sie extrem klein wollen, gehen Sie damit.Beachten Sie auch: Dies ist immer noch weniger aufgebläht als moment.js. Moment.js ist zwar nett, aber es gibt zu viele weltliche Methoden, die einen Moment des Lernens erfordern, als wäre es eine Sprache. Meins verwendet hier das gleiche gängige Format wie PHP: date .
Quick Links
In diesem Mod sind die Formatzeichen von PHP: date inspiriert . Eine vollständige Liste finden Sie in meiner README-Datei
Dieser Mod hat auch eine viel längere Liste von vorgefertigten Formaten. Um ein vorgefertigtes Format zu verwenden, geben Sie einfach seinen Schlüsselnamen ein.
dateFormat(new Date(), 'pretty-a');
Wie Sie vielleicht bemerken, können Sie double verwenden
\
, um einem Charakter zu entkommen.quelle
Der kürzestmögliche.
So erhalten Sie ein Format wie "2018-08-03":
So erhalten Sie ein Format wie "8/3/2018":
Sie können das Gebietsschema beispielsweise auch als Argument
toLocaleDateString("sr")
usw. übergeben.quelle
Wenn Sie nur ein Datum ohne Zeitangabe wünschen, verwenden Sie:
quelle
Versuche dies:
Das Ergebnis wird wie folgt sein
quelle
Wenn Sie eine genauere Kontrolle über die Datumsformate suchen, empfehle ich Ihnen dringend, sich momentjs anzusehen. Tolle Bibliothek - und nur 5 KB. http://momentjs.com/
quelle
Sie können moment.js verwenden: http://momentjs.com/
quelle
moment().format("L")
um das aktuelle Gebietsschema zu respektieren.So zerlegen Sie es in Schritte:
(new Date()).toString()
gibt "Fri Jun 28 2013 15:30:18 GMT-0700 (PDT)"(new Date()).toString().split(' ')
teilt die obige Zeichenfolge in jedes Leerzeichen und gibt ein Array wie folgt zurück: ["Fr", "Jun", "28", "2013", "15:31:14", "GMT-0700", "(PDT)" ]](new Date()).toString().split(' ').splice(1,3).join(' ')
Nimmt den zweiten, dritten und vierten Wert aus dem obigen Array, verbindet sie mit Leerzeichen und gibt eine Zeichenfolge "Jun 28 2013" zurück.quelle
Date().split(' ').splice(1,3).join(' ')
Dies funktioniert jedes Mal:
quelle
Sie können die Methode auch
toLocaleDateString
mit zwei Parametern aufrufen :Artikel über MSDN . Mehr zu dieser Methode auf MDN .
quelle
new Date().toLocaleDateString("de-de")
macht den Trick für mich.Sauberere, einfachere Version:
Das Ergebnis hängt vom Gebietsschema des Benutzers ab :
quelle
Wenn Sie mit dem Format JJJJ-MM-TT zufrieden sind, ist dies ebenfalls der Fall.
new Date().toISOString().split('T')[0]
2018-03-10
quelle
Sie können die Date.js- Bibliothek verwenden, die das Date-Objekt erweitert, sodass Sie die .today () -Methode verwenden können.
quelle
Sie können das aktuelle Datum abrufen und die statische Methode jetzt wie folgt aufrufen:
Referenz:
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/now
quelle
var dtToday = new Date(date.now);
Varuns Antwort berücksichtigt TimezoneOffset nicht . Hier ist eine Version, die Folgendes tut:
Das
TimezoneOffset
ist Minuten, während der Date-Konstruktor Millisekunden benötigt, also die Multiplikation mit60000
.quelle
Die kürzeste Antwort lautet:
new Date().toJSON().slice(0,10)
quelle
Ergebnis:
quelle
Da
toISOString()
wird nur die aktuelle UTC-Zeit zurückgegeben, nicht die Ortszeit. Wir müssen ein Datum mit der Funktion '.toString ()' erstellen, um das Datum in einemyyyy-MM-dd
Format wie zu erhaltenDatum und Uhrzeit im
yyyy-MM-ddTHH:mm:ss
Format anzeigenDatum und Uhrzeit im
yyyy-MM-dd HH:mm:ss
Format anzeigenquelle
Wenn Sie ein einfaches
DD/MM/YYYY
Format wünschen , habe ich mir gerade diese einfache Lösung ausgedacht, obwohl fehlende Nullen nicht vorangestellt werden.quelle
würde auch funktionieren
quelle
NEUESTE BEARBEITUNG: 23.08.19 Die date-fns- Bibliothek funktioniert ähnlich wie moment.js , hat jedoch einen wesentlich geringeren Platzbedarf. Damit können Sie auswählen, welche Funktionen Sie in Ihr Projekt aufnehmen möchten, damit Sie nicht die gesamte Bibliothek kompilieren müssen, um das heutige Datum zu formatieren. Wenn eine minimale Bibliothek von Drittanbietern für Ihr Projekt keine Option ist, unterstütze ich die akzeptierte Lösung von Samuel Meddows ganz oben.
Die Geschichte unten bewahren, weil sie einigen Menschen geholfen hat. Aber fürs Protokoll ist es ziemlich hackig und kann ohne Vorwarnung brechen, ebenso wie die meisten Lösungen in diesem Beitrag
EDIT 07.02.2017 Eine einzeilige JS-Lösung:
Erläuterung
Ich fand heraus, dass IE10 und IE Edge die Dinge etwas anders machen. mit
new Date(Date.now()).toLocaleString()
als Eingabe,IE10 gibt zurück:
Ich könnte eine große lange Funktion und FTFY schreiben. Aber du solltest moment.js wirklich für dieses Zeug verwenden. Mein Skript bereinigt dies lediglich und gibt Ihnen die erweiterte traditionelle US-Notation:
> todaysDate = "March 06, 2017"
IE EDGE gibt zurück:
Natürlich könnte es nicht so einfach sein. Die Datumszeichenfolge von Edge enthält unsichtbare "•" Zeichen zwischen den einzelnen sichtbaren Zeichen. Wir werden jetzt nicht nur prüfen, 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, schieben Sie einfach die ersten drei Zeichen (winziger Puffer gegen zukünftige Spielereien) .slice () und suchen Sie dann nach Zahlen. Es sollte wahrscheinlich beachtet werden, dass diese unsichtbaren Punkte möglicherweise in Ihrem Code verbleiben können. Ich würde mich vielleicht damit befassen, wenn Sie größere Pläne haben, als nur diese Zeichenfolge in Ihre Ansicht zu drucken.
∴ aktualisierter Einzeiler:
Das ist scheiße zu lesen. Wie wäre es mit:
URSPRÜNGLICHE ANTWORT
Ich habe einen Einzeiler für Sie:
und
[1]
wird Ihnen die Tageszeit geben.quelle
Sie können dies verwenden
Der HTML ist
quelle
Wenn Sie jQuery verwenden. Versuchen Sie diesen einen Liner:
Hier ist die Konvention zum Formatieren des Datums
Hier ist die Referenz für jQuery Datepicker
quelle
Eine einfache Möglichkeit, dies zu erreichen (unter Berücksichtigung Ihrer aktuellen Zeitzone unter Verwendung des ISO-Formats JJJJ-MM-TT), ist:
Normalerweise ist dies ein ziemlich allzweckkompatibles Datumsformat, das Sie bei Bedarf in einen reinen Datumswert konvertieren können:
quelle
Sie können dies auschecken
Weitere Informationen finden Sie in der Dokumentation zum Date () -Konstruktor. Verknüpfung
quelle
Was ist die große Sache damit? Der sauberste Weg, dies zu tun, ist
var currentDate=new Date().toLocaleString().slice(0,10);
quelle
3/4/2018,
, besser zu verwendennew Date().toJSON().slice(0,10)
..slice(0,10)
Dies kann Ihnen helfen
Dadurch wird das aktuelle Datum im Format TT / MM / JJJJ gedruckt
quelle
Dies ist gut, um ein formatiertes Datum zu erhalten
quelle
Ich denke, das ist eine alte Frage, aber der einfachste Weg wäre der folgende:
Dadurch wird die aktuelle Uhrzeit erfasst, basierend auf dem Standort an eine Zeichenfolge übergeben, und Sie können die Funktion CurrentTime aufrufen, um die Uhrzeit anzuzeigen. Dies wäre für mich der effektivste Weg, einen Zeitstempel für etwas zu bekommen.
quelle