Kā JavaScript programmā iegūt pašreizējo datumu?

Kā JavaScript programmā iegūt pašreizējo datumu?

Risinājums

Izmantojiet new Date(), lai ģenerētu jaunu Date objektu, kas satur pašreizējo datumu un laiku.

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

Tas sniegs jums šodienas datumu formātā mm/dd/ggg/gggg.

Vienkārši mainiet today = mm +'/'+ dd +'/'+ yyyy; uz jebkuru vēlamo formātu.

Komentāri (13)

ATJAUNINĀTS!, Ritiniet uz leju

Ja vēlaties kaut ko vienkāršu, skaistu galalietotājam... Tāpat izlabota neliela sufiksa problēma pirmajā versijā zemāk. Tagad tiek pareizi atgriezts sufikss.

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 Pēc ilgas vilcināšanās es beidzot GitHubbed un atjaunināju to ar galīgo risinājumu, ko es pats izmantoju. Tajā pat ir veikti daži pēdējā brīža labojumi, lai padarītu to saldāku! Ja jūs meklējat veco [jsFiddle, lūdzu, skatiet šo][2].

Šis atjauninājums ir 2 garšas, joprojām salīdzinoši neliels, lai gan ne tik mazs kā mana iepriekš minētā, sākotnējā atbilde. Ja vēlaties ļoti mazu, izvēlieties šo.
Piezīme: Tas joprojām ir mazāk uzpūsts nekā moment.js. Lai gan moment.js ir jauks, imo, tajā ir pārāk daudz laicīgu metožu, kas prasa apgūt moment.js kā valodu. Manā šeit tiek izmantots tāds pats kopējais formāts kā PHP: date.

Ātrās saites

Flavor 1 [new Date().format(String)][3] Mans personīgais favorīts. Zinu, ka tas ir tabu, bet lieliski darbojas ar Date objektu. Tikai ņemiet vērā visus citus Date objekta modifikācijas variantus.

//  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] Tradicionālāka "viss vienā" metode. Piemīt visas iepriekšējās metodes spējas, bet tiek izsaukta, izmantojot metodi ar Date param.

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

BONUSA garša (nepieciešama jQuery) $.date(Date, String) Tas satur daudz vairāk nekā tikai vienkāršu formāta opciju. Tas paplašina bāzes Date objektu un ietver tādas metodes kā addDays. Lai iegūtu vairāk informācijas, lūdzu, skatiet Git.

Šajā modifikācijā formāta rakstzīmes ir veidotas pēc PHP: date. Pilnīgu sarakstu, lūdzu, skatiet manā README.

Šim modam ir arī daudz garāks iepriekš sagatavoto formātu saraksts. Lai izmantotu iepriekš sagatavotu formātu, vienkārši ievadiet tā atslēgas nosaukumu. dateFormat(new Date(), 'pretty-a');

  • 'compound'
    • 'commonLogFormat' == 'd/M/Y:G:i:s'
    • 'exif' == 'Y:m:d G:i:s'
    • 'isoYearWeek' == 'Y\\WWW'
    • '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'
  • 'konstantas'
    • '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-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'
  • 'diezgan'
    • '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'

Kā jūs, iespējams, pamanījāt, jūs varat izmantot dubulto \, lai izvairītos no rakstzīmes..


Komentāri (6)

Izmēģiniet šo:

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

Rezultāts būs šāds

15/2/2012
Komentāri (1)