Ako získam aktuálny dátum v jazyku JavaScript?

Ako získam aktuálny dátum v jazyku JavaScript?

Riešenie

Pomocou funkcie new Date() vytvoríte nový objekt Date obsahujúci aktuálny dátum a čas.

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

Toto vám poskytne dnešný dátum vo formáte mm/dd/rrrr.

Jednoducho zmeňte today = mm +'/'+ dd +'/'+ yyyy; na akýkoľvek formát, ktorý chcete.

Komentáre (13)

AKTUALIZOVANÉ!, Prejdite nadol

Ak chcete niečo jednoduché a pekné pre koncového používateľa... Takisto opravený malý problém s príponou v prvej verzii nižšie. Teraz správne vracia príponu.

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 Po dlhom otáľaní som to konečne GitHubbed aktualizoval a doplnil o konečné riešenie, ktoré'som používal pre seba. Dokonca som ho na poslednú chvíľu upravil, aby bolo sladšie! Ak'hľadáte starý [jsFiddle, pozrite si tento][2].

Táto aktualizácia prichádza v 2 príchutiach, stále relatívne malých, aj keď nie tak malých ako moja vyššie uvedená, pôvodná odpoveď. Ak chcete extrémne malú, vyberte si túto.
Tiež si všimnite: Táto je stále menej nafúknutá ako moment.js. Aj keď je moment.js pekný, imo má príliš veľa svetských metód, ktoré si vyžadujú naučiť sa moment ako jazyk. Môj tu používa rovnaký bežný formát ako PHP: date.

Rýchle odkazy

Flavor 1 [new Date().format(String)][3] Môj osobný favorit. Poznám tabu, ale na objekte Date funguje skvele. Len si treba dať pozor na všetky ostatné úpravy, ktoré môžete mať na Date Object.

//  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] Tradičnejšia metóda "všetko v jednom". Má všetky schopnosti predchádzajúcej, ale volá sa prostredníctvom metódy s parametrom Date.

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

BONUSOVÁ príchuť (vyžaduje jQuery) $.date(Date, String) Obsahuje oveľa viac než len jednoduchú možnosť formátovať. Rozširuje základný objekt Date a obsahuje metódy ako addDays. Viac informácií nájdete v Git.

V tomto móde sú formátovacie znaky inšpirované PHP: date. Kompletný zoznam nájdete v mojom README.

Tento mod má tiež oveľa dlhší zoznam predpripravených formátov. Ak chcete použiť predpripravený formát, stačí zadať jeho kľúčový názov. dateFormat(new Date(), 'pretty-a');

  • 'compound'
    • '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-nmd\\TG:i:s'
  • 'konštanty'
    • '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'

*Ako ste si mohli všimnúť, na uniknutie znaku môžete použiť dvojité \.


Komentáre (6)

Skúste toto:

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

Výsledok bude takýto

15/2/2012
Komentáre (1)