Hvordan får jeg dagens dato i JavaScript?

Hvordan får jeg aktuell dato i JavaScript?

Løsning

Bruk new Date() for å generere et nytt Date-objekt som inneholder gjeldende dato og klokkeslett.

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

Dette vil gi deg dagens dato i formatet mm/dd/åååå.

Bare endre today = mm +'/'+ dd +'/'+ yyyy; til det formatet du ønsker.

Kommentarer (13)

UPDATED!, Scroll Down

Hvis du vil ha noe enkelt og pent til sluttbrukeren ... Fikset også et lite suffiksproblem i den første versjonen nedenfor. Nå returnerer suffikset riktig.

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 Etter mye utsettelse har jeg endelig GitHubbed og oppdatert dette med den endelige løsningen jeg har brukt for meg selv. Det har til og med hatt noen redigeringer i siste øyeblikk for å gjøre det søtere! Hvis du leter etter den gamle [jsFiddle, vennligst se dette][2].

Denne oppdateringen kommer i 2 smaker, fortsatt relativt liten, men ikke så liten som mitt ovennevnte, originale svar. Hvis du vil ha ekstremt liten, gå med det.
Merk også: Dette er fortsatt mindre oppblåst enn moment.js. Mens moment.js er fint, imo, det har for mange sekulære metoder, som krever læring øyeblikk som om det var et språk. Mine her bruker det samme vanlige formatet som PHP: date.

Hurtigkoblinger

Favoritt 1 [new Date().format(String)][3][3]** Min personlige favoritt. Jeg kjenner tabuet, men fungerer bra på datoobjektet. Bare vær oppmerksom på eventuelle andre modifikasjoner du måtte ha til datoobjektet.

//  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] Mer tradisjonell alt-i-ett-metode. Har alle egenskapene til den forrige, men kalles via metoden med Date-parameteren.

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

BONUS Flavor (krever jQuery) $.date(Date, String) Dette inneholder mye mer enn bare et enkelt format-alternativ. Det utvider det grunnleggende Date-objektet og inkluderer metoder som addDays. For mer informasjon, se Git.

I denne modusen er formatkarakterene inspirert av PHP: date. For en fullstendig liste, se README.

Denne moden har også en mye lengre liste over forhåndsdefinerte formater. For å bruke et forhåndslaget format, bare skriv inn nøkkelnavnet. dateFormat(new Date(), 'pretty-a');

  • 'sammensatt'
    • '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-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'
  • 'konstanter'
    • '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' == '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'
    • 'pretty-d' == 'n/d/Y'
    • 'pretty-e' == 'F jS - g:ia'
    • 'pretty-f' == 'g:iA'

*Som du kanskje legger merke til, kan du bruke dobbel \ for å utelate et tegn.


Kommentarer (6)

Prøv dette:

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

Resultatet blir som

15/2/2012
Kommentarer (1)