Kaip gauti dabartinę datą javascript?

Kaip gauti dabartinę datą javascript?

1844 m
07 окт. 07 spalis Suresh 2009-10-07 14:39 '09, 14:39, 2009-10-07 14:39
@ 44 atsakymai
  • 1
  • 2

Naudokite new Date() norite sukurti naują Date objektą, kuriame yra dabartinė data ir laikas.

2207
08 февр. Atsakymą pateikė Samuel Meddows 08 Feb. 2011-02-08 07:42 '11 at 7:42 2011-02-08 07:42

369
29 сент. atsakymą pateikė Varun Natraaj 29 sep . 2013-09-29 17:13 '13, 17:13 2013-09-29 17:13

Atnaujinta! slinkite žemyn

Jei jums reikia kažką paprasto galutiniam vartotojui ... Also, fixed a small suffix issue in the first version below. Now properly returns suffix. nustatėte Also, fixed a small suffix issue in the first version below. Now properly returns suffix. Also, fixed a small suffix issue in the first version below. Now properly returns suffix.

 <h1></h1> 

UBBER UPDATE Po keleto vėlavimų aš galiausiai gavau GitHubbed ir atnaujinau galutinį sprendimą. Jis netgi turėjo paskutinės minutės pataisymus, kad jis būtų saldesnis! Jei ieškote seno jsFiddle, žr .

Šis naujinimas pateikiamas dviem skoniais, vis dar palyginti nedidelis, nors ir ne toks mažas kaip mano pirmiau pateiktas atsakymas. Jei norite labai mažai, eikite su juo.
Taip pat atkreipkite dėmesį: tai vis dar mažiau išsipūtęs nei momentas. Nors momentas.js yra geras, imo, jis turi daug pasaulietinių metodų, kuriems reikia mokymo momento, tarsi ji būtų kalba. Čia naudoju tą patį bendrą formatą kaip PHP: data .

Greitos nuorodos

Skonis 1 new Date().format(String) Mano asmeninis mėgstamiausias. Žinau tabu, bet jis veikia gerai su Datos objektu. Tiesiog žinokite apie kitus modusus, kurie gali atsirasti datos objektui.

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

Taste 2 dateFormat(Date, String) Tradicinis „all-in-one“ metodas. Jame yra visi ankstesniojo pajėgumai, tačiau jį vadina metodas su parametru Data.

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

BONUS Flavor (reikalingas „jQuery“) $.date(Date, String) Tai daug daugiau nei tik format . Jis pratęsia bazės datos objektą ir apima tokius metodus, kaip „ addDays . Daugiau informacijos rasite „ Git“ .

Šiame mod formate simboliai įkvėpti PHP: data . Išsamų sąrašą rasite skyriuje „ README“ .

Šis modas taip pat turi daug ilgesnį anksčiau sukurtų formatų sąrašą. Jei norite naudoti paruoštą formatą, tiesiog įveskite jo pavadinimą. dateFormat(new Date(), 'pretty-a');

  • „ryšys“
    • 'commonLogFormat' == 'd / M / Y: G: i: s'
    • 'exif' == 'Y: m: d G: i: s'
    • „isoYearWeek“ == „Y“
    • 'isoYearWeek2' == 'Y - WW
    • 'isoYearWeekDay' == 'Y
    • 'isoYearWeekDay2' == 'Y - WW-j'
    • 'mySQL' == 'Ymd h: i: s'
    • 'postgreSQL' == 'Y.z'
    • 'postgreSQL2' == 'Yz'
    • „muilas“ == „Ymd TH: i: s.u“
    • 'soap2' == 'Ymd TH: i: s.uP'
    • 'unixTimestamp' == '@U'
    • 'xmlrpc' == 'Ymd \ t
    • 'xmlrpcCompact' == 'Ymd \ t
    • 'wddx' == 'Ynj \ t
  • „konstantos“
    • 'AMERICAN' == 'F j Y'
    • „AMERICANSHORT“ == „m / d / Y“
    • 'AMERICANSHORTWTIME' == 'm / d / Y h: i: sA'
    • 'ATOM' == 'Ymd TH: i: sP'
    • 'COOKIE' == 'l dMY H: i: s T'
    • „EUROPOS“ == „j F Y“
    • „EUROPEANSHORT“ == „dmY“
    • 'EUROPEANSHORTWTIME' == 'dmY H: i: s'
    • 'ISO8601' == 'Ymd TH: i: sO'
    • „TEISINIS“ == 'j F Y'
    • 'RFC822' == 'D d M y H: i: s O'
    • 'RFC850' == 'l dMy H: i: s T'
    • 'RFC1036' == 'D d M y H: i: s O'
    • 'RFC1123' == 'D d MYH: i: s O'
    • 'RFC2822' == 'D d MYH: i: s O'
    • 'RFC3339' == 'Ymd TH: i: sP'
    • 'RSS' == 'D d MYH: i: s O'
    • 'W3C' == 'Ymd TH: i: sP'
  • „gražus“
    • 'pretty-a' == 'g: i.sA l jS f F Y'
    • 'pretty-b' == 'g: iA l jS 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'

Kaip matote, galite naudoti dvigubą


196
10 февр. Atsakymas pateikiamas SpYk3HH 10 vasario mėn. 2012-02-10 17:33 '12 at 17:33 2012-02-10 17:33

Jei jums reikia tik datos, kurioje nėra laiko informacijos, naudokite:

127
02 сент. Atsakymas pateikiamas Maršalo rugsėjo 2 d. 2014-09-02 09:14 '14 at 9:14 2014-09-02 09:14

Trumpiausias įmanomas.

Norėdami gauti formatą kaip „2018-08-03“:

 let today = new Date().toLocaleDateString() console.log(today) 

Be to, galite perduoti lokalę kaip argumentą, pvz., toLocaleDateString("sr") ir kt.

100
10 марта '16 в 19:30 2016-03-10 19:30 Atsakymą pateikė Damjan Pavlica, kovo 10 d. 16, 19:30 2016-03-10 19:30

Pabandykite atlikti šiuos veiksmus:

92
15 февр. Atsakymą pateikė Jimmy M 15 vasaris. 2012-02-15 11:48 '12, 11:48, 2012-02-15 11:48

Jei ieškote daug išsamesnės datos formatų kontrolės, labai rekomenduoju patikrinti „timejs“ parinktis. Awesome biblioteka - ir tik 5 KB. http://momentjs.com/

60
12 дек. Atsakymą pateikė benjamin.keen gruodžio 12 d. 2012-12-12 04:03 '12 at 4:03 2012-12-12 04:03

Galite naudoti moment.js: http://momentjs.com/

 <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script> 
47
16 авг. Atsakyti Morad 16 rug. 2014-08-16 14:56 '14, 14:56, 2014-08-16 14:56

43
29 июня '13 в 1:32 2013-06-29 01:32 atsakymą pateikė Rishabh Marya birželio 13 d. 13:32 2013-06-29 01:32
 var date = new Date().toLocaleDateString("en-US"); 

Be to, galite paskambinti į „ toLocaleDateString metodą dviem parametrais:

 var date = new Date().toLocaleDateString("en-US", { "year": "numeric", "month": "numeric" }); 

Straipsnis apie MSDN . Sužinokite daugiau apie šį MDN metodą.

38
09 июля '14 в 10:01 2014-07-09 10:01 atsakymą pateikė Dunaevsky Maxim, liepos 09 '14, 10:01 2014-07-09 10:01

Jis veikia kiekvieną kartą:

35
03 нояб. atsakymas duotas roshan 03 lapkričio. 2013-11-03 21:03 '13, 21:03 2013-11-03 21:03

Švari, paprasta versija:

 new Date().toLocaleString(); 

Rezultatas priklauso nuo naudotojo lokalės :

2017 2/27, 9:15:41 AM

27
18 июля '16 в 20:15 2016-07-18 20:15 atsakymą pateikė Oded Breiner, liepos 18, 16 d., 20:15 2016-07-18 20:15

Jei esate patenkintas forma YYYY-MM-DD, tai taip pat veiks.

new Date().toISOString().split('T')[0]

2018-03-10

20
10 марта '18 в 17:48 2018-03-10 17:48 atsakė Aung Htet'ui kovo 18 d., 17:48, 2018-03-10 17:48

Galite naudoti „ Date.js“ biblioteką, kuri pratęsia datos objektą, todėl galite turėti .today () metodą.

20
26 июня '12 в 16:00 2012-06-26 16:00 atsakymą pateikė eomeroffas birželio 26 d., 12 val

Dabartinę datą galite gauti statiniu būdu:

 var now = Date.now() 

nuoroda:

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/now

17
15 мая '15 в 17:40 2015-05-15 17:40 atsakymą pateikė Jose Rojas gegužės 15 d. 15:17 2015-05-15 17:40

Varun atsakyme neatsižvelgiama į „ TimezoneOffset“ . Čia yra versija, kuri:

 var d = new Date() new Date(d.getTime() - d.getTimezoneOffset() * 60000).toJSON().slice(0, 10) // 2015-08-11 

TimezoneOffset - minutės, o „Date“ konstruktorius trunka milisekundes, tokiu būdu dauginant iš 60000 .

13
11 авг. atsakymą pateikė vartotojo1338062 11 rug . 2015-08-11 09:08 '15 - 09:08 2015-08-11 09:08

Trumpiausias atsakymas yra: new Date().toJSON().slice(0,10)

12
02 дек. Atsakymas, kurį pateikė Blair Anderson 02 Dec 2017-12-02 00:43 '17 at 0:43 2017-12-02 00:43

Jei jums reikia paprasto DD/MM/YYYY formato, tiesiog atėjau šį paprastą sprendimą, nors jame nėra priešdėlį trūkstamų nulių.

10
30 июня '15 в 11:10 2015-06-30 11:10 atsakymą pateikė Phil Ricketts birželio 30 d. 15 val. 11:10 2015-06-30 11:10
 new Date().toDateString(); 

Rezultatas:

"Penktadienis vasaris 03 2016"

9
03 февр. Atsakymą pateikė vartotojo3519897 03 vasaris 2016-02-03 15:08 '16 at 15:08 2016-02-03 15:08
 new Date().toISOString().slice(0,10); 

taip pat dirbs

7
01 окт. Atsakymas Toucouleur Oct 01 2015-10-01 19:19 '15, 19:19, 2015-10-01 19:19

Kadangi toISOString() grąžins dabartinį UTC laiką, o ne vietinį laiką. Turime padaryti datą, naudodami .toString () funkciją, kad gautumėte datą, pvz., Yyyy yyyy-MM-dd .

 document.write(new Date(new Date().toString().split('GMT')[0]+' UTC').toISOString().split('.')[0]); 

Datos ir laiko įvedimo forma yyyy-MM-dd HH:mm:ss

6
18 мая '18 в 10:27 2018-05-18 10:27 Atsakymą pateikė jafarbtech gegužės 18 d. 18 val. 10:27 2018-05-18 10:27

Jei naudojate „jQuery“. Išbandykite šį vieną įdėklį

 $.datepicker.formatDate('dd/mm/yy', new Date()); 

Štai datų formatavimo konvencija.

  • d - mėnesio diena (nulio pradžia)
  • dd - mėnesio diena (du skaitmenys)
  • o - metų diena (be nulio)
  • oo - metų diena (trys skaitmenys)
  • D - dienos pavadinimas yra trumpas
  • DD - dienos pavadinimas
  • m yra metų mėnuo (nulinis nulis)
  • mm - metų mėnuo (du skaitmenys)
  • M - trumpo mėnesio pavadinimas
  • MM - mėnesio ilgis
  • y - metai (du skaitmenys)
  • metų (keturių skaitmenų)

Čia yra jQuery nuoroda duomenų rinkėjui

5
01 февр. atsakymas duotas Souvik 01 Feb. 2017-02-01 14:50 '17, 14:50 pm 2017-02-01 14:50

Galite tai naudoti

 <script> function my_curr_date() { var currentDate = new Date() var day = currentDate.getDate(); var month = currentDate.getMonth() + 1; var year = currentDate.getFullYear(); var my_date = month+"-"+day+"-"+year; document.getElementById("dateField").value=my_date; } </script> 

HTML

 <body onload='return my_curr_date();'> <input type='text' name='dateField' id='dateField' value='' /> </body> 
5
08 февр. atsakymą pateikė Roger 08 feb. 2013-02-08 15:07 '13, 15:07 2013-02-08 15:07

Vienos eilutės js sprendimas:

TL; dr

var todaysDate = new Date(Date.now()).toLocaleString().slice(0,3).match(/[0-9]/i) ? new Date(Date.now()).toLocaleString().split(' ')[0].split(',')[0] : new Date(Date.now()).toLocaleString().split(' ')[1] + " " + new Date(Date.now()).toLocaleString().split(' ')[2] + " " + new Date(Date.now()).toLocaleString().split(' ')[3];

kraštas, paskutinis ir chromo grąžinimas todaysDate = "2/7/2017"
„darbai“ * IE10 +

EDIT 2/7/2017

Sužinojau, kad IE10 ir IE Edge daro kažką kitokio. eiti skaičius. su new Date(Date.now()).toLocaleString() kaip įvestį,

IE10 grąžina:

 "Tuesday, February 07, 2017 2:58:25 PM" 

Galėčiau parašyti labai ilgą funkciją ir FTFY. Bet jūs tikrai turite naudoti moment.js . Mano scenarijus tiesiog išvalo jį ir suteikia jums išplėstinį tradicinį Amerikos užrašą: > todaysDate = "March 06, 2017"

IE EDGE grąžina:

 "‎2‎/‎7‎/‎2017‎ ‎2‎:‎59‎:‎27‎ ‎PM" 

Žinoma, tai negalėjo būti taip paprasta. Dienos krašto linija tarp kiekvienos matomos yra „•“ ženklai. . Dabar mes ne tik patikrinsime, ar pirmasis simbolis yra skaičius, bet ir pirmieji trys simboliai, nes paaiškėja, kad bet kuris vienintelis simbolis visame datos intervale tam tikru momentu bus taškas arba brūkšnys. Taigi viskas yra paprasta, paprasta . Supjaustykite pirmuosius tris simbolius (mažą buferį nuo būsimų sukčiavimo) ir patikrinkite numerius. Turbūt reikėtų pažymėti, kad šie nematomi taškai gali būti saugomi jūsų kode. Tikriausiai turėčiau įsiskverbti į tai, jei turite didelių planų, nei tiesiog spausdinti šią eilutę jūsų nuomone.

∴ atnaujinta viena eilutė:

 var todaysDate = new Date(Date.now()).toLocaleString().slice(0,3).match(/[0-9]/i) ? new Date(Date.now()).toLocaleString().split(' ')[0].split(',')[0] : new Date(Date.now()).toLocaleString().split(' ')[1] + " " + new Date(Date.now()).toLocaleString().split(' ')[2] + " " + new Date(Date.now()).toLocaleString().split(' ')[3]; 

Jis sucks skaityti. Kaip apie:

 var dateString = new Date(Date.now()).toLocaleString(); var todaysDate = dateString.slice(0,3).match(/[0-9]/i) ? dateString.split(' ')[0].split(',')[0] : dateString.split(' ')[1] + " " + dateString.split(' ')[2] + " " + dateString.split(' ')[3]; 

ORIGINALUS ATSAKYMAS

Turiu vieną linijos sąsają:

 new Date(Date.now()).toLocaleString().split(', ')[0]; 

ir [1] duos jums dienos laiką.

5
20 янв. atsakymą pateikė Cameron Donahue 20 jan. 2017-01-20 15:35 '17 15:35 2017-01-20 15:35

Galite jį patikrinti

 var today = new Date(); today = parseInt(today.getMonth()+1)+'/'+today.getDate()+'/'+today.getFullYear()+"\nTime : "+today.getHours()+":"+today.getMinutes()+":"+today.getSeconds(); document.write(today); 

Ir žiūrėkite „Date“ () konstruktoriaus dokumentaciją. nuoroda

4
11 авг. atsakymas suteiktas Akhil 11 rug. 2015-08-11 09:31 '15 at 9:31 am 2015-08-11 09:31

Ką tai reiškia. Švariausias būdas tai padaryti

var currentDate=new Date().toLocaleString().slice(0,10);

4
31 окт. atsakymas pateikiamas ISONecroMAn 31 okt. 2015-10-31 22:39 '15, 10:39 pm 2015-10-31 22:39

Jis gali jums padėti.

 var date = new Date(); console.log(date.getDate()+'/'+(date.getMonth()+1)+'/'+date.getFullYear()); 

Tai spausdins dabartinę datą dd / MM / yyyy formatu.

3
17 авг. Jayant Patil atsakė į 17 rugpjūčio mėn. 2016-08-17 11:33 '16 at 11:33 2016-08-17 11:33
 var dateTimeToday = new Date(); var dateToday = new Date( dateTimeToday.getFullYear(), (dateTimeToday.getMonth() + 1) , dateTimeToday.getDate(), 0, 0, 0, 0); 
3
12 апр. Atsakymą pateikė Jas balandžio 12 d 2015-04-12 17:36 '15, 17:36 2015-04-12 17:36

Nežinau, ar tai padės kas nors, bet aš naudoju jį, kad gautumėte šiandienos datos objektą.

 new Date( 3600000*Math.floor(Date.now()/3600000) ) 
3
01 окт. atsakymas pateikiamas marverix 01 okt. 2015-10-01 18:25 '15, 18:25, 2015-10-01 18:25

Manau, kad tai yra senas klausimas, tačiau paprasčiausias būdas būtų:

 var date = new Date(); var TimeStamp = date.toLocaleString(); function CurrentTime(){ alert(TimeStamp); } 

Tai užfiksuos dabartinį laiką, persiunčia jį į vietą pagal vietą ir tada galite skambinti „CurrentTime“ funkcijai, kad būtų rodomas laikas. Tai būtų pats veiksmingiausias būdas gauti laiko žymą kažkam.

3
20 янв. Atsakymas duotas Brock Davis sausio 20 d 2015-01-20 01:21 '15 ne 1:21 2015-01-20 01:21
  • 1
  • 2

Kiti klausimai dėl žymų arba Užduoti klausimą