Come posso ottenere la data attuale in JavaScript?

Come posso ottenere la data attuale in JavaScript?

Soluzione

Usa new Date() per generare un nuovo oggetto Date contenente la data e l'ora correnti.

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

Questo ti darà la data di oggi nel formato mm/dd/yyyy.

Cambia semplicemente today = mm +'/'+ dd +'/'+ yyyy; in qualsiasi formato tu voglia.

Commentari (13)

UPDATED!, Scroll Down

Se vuoi qualcosa di semplice carino per l'utente finale ... Inoltre, risolto un piccolo problema di suffisso nella prima versione qui sotto. Ora restituisce correttamente il suffisso.

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>

AGGIORNAMENTO DELL'UBICAZIONE Dopo molto procrastinare, ho finalmente GitHubbed e aggiornato questo con la soluzione finale che sto usando per me stesso. Ha anche avuto alcune modifiche dell'ultimo minuto per renderlo più dolce! Se stai cercando il vecchio [jsFiddle, vedi questo][2].

Questo aggiornamento arriva in 2 sapori, ancora relativamente piccoli, anche se non così piccoli come la mia risposta originale di cui sopra. Se vuoi estremamente piccolo, vai con quello.
Nota anche: Questo è ancora meno gonfio di moment.js. Mentre moment.js è bello, imo, ha troppi metodi secolari, che richiedono di imparare moment come se fosse una lingua. Il mio qui usa lo stesso formato comune di PHP: date.

Collegamenti rapidi

Flavor 1 [new Date().format(String)][3] Il mio favor personale. Conosco il tabù ma funziona benissimo sull'oggetto Date. Basta essere consapevoli di qualsiasi altra mods che si può avere per l'oggetto Date.

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

Flavor 2 [dateFormat(Date, String)][4] Metodo più tradizionale tutto in uno. Ha tutte le capacità del precedente, ma è chiamato tramite il metodo con param Date.

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

BONUS Flavor (richiede jQuery) $.date(Date, String) Questo contiene molto più di una semplice opzione format. Estende l'oggetto base Date e include metodi come addDays. Per maggiori informazioni, si veda il Git.

In questa mod, i caratteri di formato sono ispirati da PHP: date. Per una lista completa, si prega di vedere il mio README

Questa mod ha anche una lista molto più lunga di formati pre-fatti. Per utilizzare un formato pre-fatto, inserite semplicemente il suo nome chiave. dateFormat(new Date(), 'pretty-a');

  • 'composto'
    • 'commonLogFormat' == 'd/M/Y:G:i:s'
    • 'exif' == 'Y:m:d G:i:s'
    • 'isoYearWeek' == 'Y\\WWW'
    • 'isoYearWeek2' == 'Y-\\WWW'
    • 'isoYearWeekDay' == 'Y\\WWWj'
    • 'isoYearWeekDay2' == 'Y-\\WWW-j'
    • 'mySQL' == 'Y-m-d h:i:s'
    • 'postgreSQL' == 'Y.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'
  • 'costanti'
    • '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'
    • 'EUROPEO' == '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\o\o\f F Y'
    • 'pretty-c' == 'n/d/Y g:iA'
    • 'pretty-d' == 'n/d/Y'
    • 'pretty-e' == 'F jS - g:ia'
    • 'pretty-f' == 'g:iA'

Come puoi notare, puoi usare il doppio ```per sfuggire ad un carattere.


Commentari (6)

Prova questo:

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

Il risultato sarà come

15/2/2012
Commentari (1)