Wie kann ich das aktuelle Datum in JavaScript abfragen?
Antworten
Zu viele Anzeigen?Verwenden Sie new Date()
um eine neue Date
Objekt, das das aktuelle Datum und die Uhrzeit enthält.
var today = new Date();
var dd = String(today.getDate()).padStart(2, '0');
var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!
var yyyy = today.getFullYear();
today = mm + '/' + dd + '/' + yyyy;
document.write(today);
So erhalten Sie das heutige Datum im Format mm/dd/yyyy.
Einfach ändern today = mm +'/'+ dd +'/'+ yyyy;
in das von Ihnen gewünschte Format umzuwandeln.
Die kürzest mögliche.
Um ein Format wie "2018-08-03" zu erhalten:
let today = new Date().toISOString().slice(0, 10)
console.log(today)
Um ein Format wie "8/3/2018" zu erhalten:
let today = new Date().toLocaleDateString()
console.log(today)
Außerdem können Sie Standort als Argument, zum Beispiel toLocaleDateString("sr")
, usw.
AKTUALISIERT! , Nach unten scrollen
Wenn Sie etwas einfaches, hübsches für den Endverbraucher wollen ... Also, fixed a small suffix issue in the first version below. Now properly returns suffix.
var objToday = new Date(),
weekday = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'),
dayOfWeek = weekday[objToday.getDay()],
domEnder = function() { var a = objToday; if (/1/.test(parseInt((a + "").charAt(0)))) return "th"; a = parseInt((a + "").charAt(1)); return 1 == a ? "st" : 2 == a ? "nd" : 3 == a ? "rd" : "th" }(),
dayOfMonth = today + ( objToday.getDate() < 10) ? '0' + objToday.getDate() + domEnder : objToday.getDate() + domEnder,
months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'),
curMonth = months[objToday.getMonth()],
curYear = objToday.getFullYear(),
curHour = objToday.getHours() > 12 ? objToday.getHours() - 12 : (objToday.getHours() < 10 ? "0" + objToday.getHours() : objToday.getHours()),
curMinute = objToday.getMinutes() < 10 ? "0" + objToday.getMinutes() : objToday.getMinutes(),
curSeconds = objToday.getSeconds() < 10 ? "0" + objToday.getSeconds() : objToday.getSeconds(),
curMeridiem = objToday.getHours() > 12 ? "PM" : "AM";
var today = curHour + ":" + curMinute + "." + curSeconds + curMeridiem + " " + dayOfWeek + " " + dayOfMonth + " of " + curMonth + ", " + curYear;
document.getElementsByTagName('h1')[0].textContent = today;
<h1></h1>
UBBER UPDATE Nach langem Zögern habe ich endlich GitHubbed und aktualisierte dies mit der endgültigen Lösung, die ich für mich selbst verwendet habe. Ich habe sogar noch ein paar Änderungen in letzter Minute vorgenommen, um es noch süßer zu machen! Wenn Sie nach der alten Lösung suchen jsFiddle, siehe bitte dies .
Dieses Update kommt in 2 Aromen, immer noch relativ klein, wenn auch nicht so klein wie meine obige, ursprüngliche Antwort. Wenn Sie extrem klein wollen, gehen Sie mit, dass.
Auch Hinweis: Dies ist immer noch weniger aufgebläht als moment.js. Während moment.js ist schön, imo, es hat zu viele profane Methoden, die Moment zu lernen, als ob es eine Sprache waren erfordern. Meine hier verwendet das gleiche Format wie PHP: Datum .
Schnelle Links
- Datum.format.min.js 5,08 KB
- dateFormat.min.js 4,16 KB
Geschmacksrichtung 1
new Date().format(String)
Mein persönlicher Favorit. Ich kenne das Tabu, aber es funktioniert großartig mit dem Date Object. Nur bewusst sein, alle anderen Mods, die Sie haben können, um das Datum Objekt.
// use as simple as
new Date().format('m-d-Y h:i:s'); // 07-06-2016 06:38:34
Geschmacksrichtung 2
dateFormat(Date, String)
Die traditionellere All-in-One-Methode. Verfügt über alle Fähigkeiten der vorherigen, wird aber über die Methode mit Date-Parameter aufgerufen.
// use as simple as
dateFormat(new Date(), 'm-d-Y h:i:s'); // 07-06-2016 06:38:34
BONUS Flavor (erfordert jQuery)
$.date(Date, String)
Dies beinhaltet viel mehr als nur eine einfacheformat
Option. Es erweitert das Basisobjekt Date und enthält Methoden wieaddDays
. Weitere Informationen finden Sie in der Git .
In dieser Mod sind die Formatzeichen inspiriert von PHP: Datum . Eine vollständige Liste finden Sie in meinem README
Diese 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');
- zusammengesetzt".
- commonLogFormat' == 'd/M/Y:G:i:s'
- exif' == 'Y:m:d G:i:s'
- isoYearWeek' == 'Y \\WW '
- isoYearWeek2' == 'Y- \\WW '
- isoYearWeekDay' == 'Y \\WWj '
- isoYearWeekDay2' == 'Y- \\WW -j'
- 'mySQL' == 'J-m-d h:i:s'
- 'postgreSQL' == 'Y.z'
- postgreSQL2' == 'Yz'
- Seife" == "Y-m-d \\TH :i:s.u'
- soap2' == 'Y-m-d \\TH :i:s.uP'
- unixTimestamp' == '@U'
- xmlrpc' == 'Ymd \\TG :i:s'
- xmlrpcCompact' == 'Ymd \\tGis '
- wddx' == 'Y-n-j \\TG :i:s'
- 'Konstanten'
- AMERICAN' == 'F j Y'
- AMERICANSHORT' == 'm/d/Y'
- AMERICANSHORTWTIME' == 'm/d/Y h:i:sA'
- ATOM' == 'Y-m-d \\TH :i:sP'
- COOKIE' == 'l d-M-Y H:i:s T'
- EUROPEAN' == 'j F Y'
- EUROPEANSHORT' == 'd.m.Y'
- EUROPEANSHORTWTIME' == 'd.m.Y H:i:s'
- ISO8601" == "J-m-d \\TH :i:sO'
- 'LEGAL' == 'j F Y'
- 'RFC822' == 'D d M y H:i:s O'
- 'RFC850' == 'l d-M-y H:i:s T'
- 'RFC1036' == 'D d M y H:i:s O'
- 'RFC1123' == 'D d M Y H:i:s O'
- 'RFC2822' == 'D d M Y H:i:s O'
- RFC3339' == 'Y-m-d \\TH :i:sP'
- 'RSS' == 'D d M Y H:i:s O'
- W3C" == "J-m-d \\TH :i:sP'
- 'hübsch'
- pretty-a" == "g:i.sA l jS \\o\\f F Y'
- pretty-b" == "g:iA l jS \\o\\f F Y'
- pretty-c' == 'n/d/Y g:iA'
- pretty-d' == 'n/d/Y'
- hübsch-e' == 'F jS - g:ia'
- pretty-f' == 'g:iA'
Wie Sie vielleicht bemerken, können Sie doppelte \
um ein Zeichen zu entkommen.
- See previous answers
- Weitere Antworten anzeigen
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
37 Stimmen
new Date()
gibt die aktuelle Zeit und nicht die aktuelle Datum . Die Unterscheidung ist wichtig, wenn Sie versuchen, es mit einem anderen Datum zu vergleichen, das keine Zeitkomponente hat (d.h. um Mitternacht ist).16 Stimmen
Verwenden Sie momentJs, diese Bibliothek ist Gold wert für Entwickler.
5 Stimmen
@SteveBennett Eigentlich gibt es das aktuelle Datum zurück. y Zeit. JavaScript hat keine separaten Objekte, um einen reinen Datumswert oder einen reinen Zeitwert darzustellen. Es hat nur
Date
die beides beinhaltet. Auch wenn die Frage nicht ganz klar ist, besteht die erwartete Antwort darin, das aktuelle Systemdatum und die aktuelle Uhrzeit zu erhalten, was genau das ist, wasnew Date()
zurück, also +1 an @Hendrik für die prägnanteste Antwort.0 Stimmen
Siehe diesen Beitrag : stackoverflow.com/a/30245911/1579667
0 Stimmen
Ich bin überrascht, dass ich keinen Kommentar über die großartige date-fns-Bibliothek gesehen habe. Modular (importieren Sie einfach, was Sie brauchen), behandelt Termine als unveränderlich, arbeiten mit nativen Date-Objekte, schneller als Moment.
3 Stimmen
Ihre Frage ist sehr weit gefasst! Möchten Sie eine Zeichenkette (einfach) oder ein Datumsobjekt (Fallen)? Wollen Sie das aktuelle Datum dort, wo Sie sind, oder in London, oder woanders? BEACHTEN SIE DIE ZEITZONE
2 Stimmen
New Date() ist immer noch gültig und die beste Antwort, aber danach kommt die Notwendigkeit eines bestimmten Formats auf und ich würde vorschlagen, toLocaleDateString mit new Date zu verwenden, z. B.
new Date().toLocaleDateString('en-GB', {year: "numeric", month: "2-digit", day: "2-digit"})
was am Ende ein formatiertes aktuelles Datum in diesem Format 08/06/2021 ergibt.0 Stimmen
Luxon ist eine moderne Bibliothek von einem der momentjs-Entwickler. Wirklich schöne Schnittstelle und APIs!