Frage Wie erhalte ich das aktuelle Datum in JavaScript?


Wie erhalte ich aktuelles Datum in JavaScript?


1681
2017-10-07 11:39


Ursprung


Antworten:


Benutzen new Date() um ein neues zu erzeugen Date Objekt, das das aktuelle Datum und die aktuelle Uhrzeit enthält.

var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();

if(dd<10) {
    dd = '0'+dd
} 

if(mm<10) {
    mm = '0'+mm
} 

today = mm + '/' + dd + '/' + yyyy;
document.write(today);

Damit erhalten Sie das heutige Datum im Format MM / TT / JJJJ.

Einfach ändern today = mm +'/'+ dd +'/'+ yyyy; in welches Format auch immer Sie wünschen.


2003
2018-02-08 04:42



var utc = new Date().toJSON().slice(0,10).replace(/-/g,'/');
document.write(utc);

Benutze die replace Option, wenn Sie die utc Variable, wie z new Date(utc), da Firefox und Safari ein Datum mit Bindestrichen nicht erkennen.


340
2017-09-29 14:13



AKTUALISIERT!, Runterscrollen

Wenn Sie etwas Einfaches für den Endnutzer 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 viel Zaudern habe ich endlich GitHubbed und aktualisierte dies mit der endgültigen Lösung, die ich für mich selbst verwendet habe. Es hat sogar einige Änderungen in letzter Minute, um es süßer zu machen! Wenn Sie nach dem Alten suchen Bitte, sieh dir das an.

Dieses Update kommt in 2 Aromen, immer noch relativ klein, aber nicht so klein wie meine obige, ursprüngliche Antwort. Wenn Sie extrem klein wollen, gehen Sie damit.
 Hinweis: Dies ist immer noch weniger aufgebläht als moment.js. Obwohl moment.js nett ist, imo, hat es viele säkulare Methoden, die einen Lernmoment erfordern, als wäre es eine Sprache. Meine hier verwendet das gleiche gängige Format wie PHP: Datum.

Schnelle Links

Geschmack 1 new Date().format(String)   Meine persönliche Fav. Ich kenne das Tabu, funktioniert aber sehr gut mit dem Date-Objekt. Seien Sie sich Ihrer anderen Mods im Date-Objekt bewusst.

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

Geschmack 2 dateFormat(Date, String)   Traditionelle All-in-One-Methode. Hat die ganze Fähigkeit der vorherigen, wird aber via Methode mit Date param aufgerufen.

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

BONUS Flavour (benötigt jQuery) $.date(Date, String)   Dies beinhaltet viel mehr als nur ein einfaches format Möglichkeit. Es erweitert das Basis-Date-Objekt und enthält Methoden wie addDays. Weitere Informationen finden Sie in der Git.

In diesem Mod sind die Formatcharaktere inspiriert PHP: Datum. Eine vollständige Liste finden Sie in meinem README

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');

  • 'Verbindung'
    • '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' == 'Y-m-dh: 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'
    • 'AMERIKANISCH' == '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' == 'dm.Y H: i: s'
    • 'ISO8601' == 'Y-m-d \\ TH: i: sO'
    • 'RECHTLICH' == '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'
  • 'ziemlich'
    • 'hübsch-a' == 'g: i.sA l jS \\ o \\ f F Y'
    • 'hübsch-b' == 'g: iA l jS \\ o \\ f F Y'
    • 'hübsch-c' == 'n / d / Y g: iA'
    • 'hübsch-d' == 'n / d / Y'
    • 'hübsch-e' == 'F jS - g: ia'
    • 'hübsch-f' == 'g: iA'

Wie Sie vielleicht bemerken, können Sie doppelt verwenden \ einem Charakter entkommen.



187
2018-02-10 14:33



Wenn Sie nur ein Datum ohne Zeitangabe wünschen, verwenden Sie:

var today = new Date();
    today.setHours(0, 0, 0, 0);

document.write(today);


115
2017-09-02 06:14



Versuche dies:

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

Das Ergebnis wird ähnlich sein

15/2/2012

90
2018-02-15 08:48



So kurz wie möglich:

let today = new Date().toISOString().slice(0, 10)

Es kehrt zurück "2016-03-10"


61
2018-03-10 16:30



Wenn Sie nach einer genaueren Kontrolle über die Datumsformate suchen, empfehle ich Ihnen dringend, die momentjs zu überprüfen. Tolle Bibliothek - und nur 5KB. http://momentjs.com/


57
2017-12-12 01:03



Sie können moment.js verwenden: http://momentjs.com/

var m = moment().format("DD/MM/YYYY");

document.write(m);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>


45
2017-08-16 11:56



var d = (new Date()).toString().split(' ').splice(1,3).join(' ');

document.write(d)

Um es in Schritte zu gliedern:

  1. (new Date()).toString() gibt "Fr Jun 28 2013 15:30:18 GMT-0700 (PDT)"

  2. (new Date()).toString().split(' ') teilt die obige Zeichenfolge in jedes Leerzeichen und gibt ein Array wie folgt zurück: ["Fri", "Jun", "28", "2013", "15:31:14", "GMT-0700", "(PDT)" ]

  3. (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


41
2018-06-28 22:32