Wie kann ich das aktuelle Datum in JavaScript abfragen?

Wie erhalte ich das aktuelle Datum in JavaScript?

Lösung

Verwenden Sie new Date(), um ein neues Date-Objekt zu erzeugen, 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);

Damit erhalten Sie das heutige Datum im Format mm/dd/yyyy.

Ändern Sie einfach heute = mm +'/'+ tt +'/'+ jjjj; in das von Ihnen gewünschte Format.

Kommentare (13)

UPDATED!, Nach unten scrollen

Wenn Sie etwas einfaches, hübsches für den Endbenutzer wollen ... *`Außerdem wurde ein kleines Suffix-Problem in der ersten Version unten behoben. Jetzt wird das Suffix korrekt zurückgegeben.**

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 dies mit der endgültigen Lösung aktualisiert, die ich für mich verwendet habe. Ich habe sogar noch ein paar Änderungen in letzter Minute vorgenommen, um es noch besser zu machen! Wenn Sie auf der Suche nach dem alten [jsFiddle sind, sehen Sie bitte hier][2].

Dieses Update kommt in 2 Varianten, immer noch relativ klein, wenn auch nicht so klein wie meine obige, ursprüngliche Antwort. Wenn Sie es extrem klein haben wollen, nehmen Sie das.
Beachten Sie auch: Dies ist immer noch weniger aufgebläht als moment.js. Während moment.js nett ist, hat es imo zu viele profane Methoden, die das Erlernen von moment erfordern, als ob es eine Sprache wäre. Meine hier verwendet das gleiche allgemeine Format wie PHP: Datum.

Quick Links

Variante 1 [neues Datum().format(String)][3] Mein persönlicher Favorit. Ich kenne das Tabu, aber es funktioniert großartig mit dem Date-Objekt. Seien Sie sich nur aller anderen Mods bewusst, die Sie für das Date Object haben können.

//  use as simple as
new Date().format('m-d-Y h:i:s');   //  07-06-2016 06:38:34

Variante 2 [dateFormat(Date, String)][4] Traditionellere All-in-One-Methode. Hat 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 (benötigt jQuery) $.date(Date, String) Dies enthält viel mehr als nur eine einfache "Format"-Option. Es erweitert das Basis-Datum-Objekt und enthält Methoden wie "adddDays". Weitere Informationen finden Sie in der Git.

In dieser Mod sind die Formatzeichen von PHP: date inspiriert. Eine vollständige Liste finden Sie in meiner 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');`

  • 'compound'
    • 'commonLogFormat' == 'd/M/Y:G:i:s'
    • exif' == 'J:m:d G:i:s'
    • isoYearWeek' == 'Y\\WW'
    • isoYearWeek2' == 'Y-\\WW'
    • isoYearWeekDay' == 'Y\\WWj'
    • isoJahrWocheTag2' == 'Y-\\WW-j'
    • 'mySQL' == 'J-m-d h:i:s'
    • 'postgreSQL' == 'J.z'
    • 'postgreSQL2' == 'Yz'
    • 'soap' == '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'
    • 'EUROPÄISCH' == 'j F Y'
    • 'EUROPEANSHORT' == 'd.m.Y'
    • 'EUROPEANSHORTWTIME' == 'd.m.Y H:i:s'
    • ISO8601' == 'Y-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' == 'Y-m-d\TH:i:sP'
  • 'pretty'
    • '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'
    • 'hübsch-d' == 'n/d/Y'
    • 'hübsch-e' == 'F jS - g:ia'
    • 'pretty-f' == 'g:iA'

*Wie Sie vielleicht bemerkt haben, können Sie ein doppeltes "`" verwenden, um ein Zeichen zu entkommen.


Kommentare (6)

Versuchen Sie dies:

var currentDate = new Date()
var day = currentDate.getDate()
var month = currentDate.getMonth() + 1
var year = currentDate.getFullYear()
document.write("" + day + "/" + month + "/" + year + "")

Das Ergebnis sieht dann so aus

15/2/2012
Kommentare (1)