JavaScript-päivämäärä ja -aika

Tässä opetusohjelmassa opit päivämäärästä ja ajasta JavaScriptissä esimerkkien avulla.

Javascriptissa Dateobjekti edustaa päivämäärää ja kellonaikaa . DateKohde tarjoaa päivämäärä ja kellonaika tietoja ja tarjoaa myös erilaisia menetelmiä.

JavaScript-päivämäärä määrittelee EcmaScript-aikakauden, joka edustaa millisekunteja 1. tammikuuta 1970 UTC . Tämä päivämäärä ja kellonaika ovat samat kuin UNIX-aikakaudella (hallitseva perusarvo tietokoneella tallennetuille päivämäärä- ja aika-arvoille).

Päivämääräkohteiden luominen

On neljä tapaa luoda päivämääräobjekti.

  • uusi päivämäärä ()
  • uusi päivämäärä (millisekuntia)
  • uusi päivämäärä (päivämäärämerkkijono)
  • uusi päivämäärä (vuosi, kuukausi, päivä, tunnit, minuutit, sekunnit, millisekunnit)

uusi päivämäärä ()

Voit luoda päivämääräobjektin new Date()konstruktorin avulla. Esimerkiksi,

 const timeNow = new Date(); console.log(timeNow); // shows current date and time

Tuotos

 Ma 6. heinäkuuta 2020 12:03:49 GMT + 0545 (Nepalin aika)

Tässä new Date()luodaan uusi päivämääräobjekti, jolla on nykyinen päivämäärä ja paikallinen aika.

uusi päivämäärä (millisekuntia)

DateObjekti sisältää useita, joka edustaa millisekuntia lähtien 1 päivänä tammikuuta 1970 UTC .

new Date(milliseconds)luo uuden päivämääräobjektin lisäämällä millisekunnit nolla-aikaan. Esimerkiksi,

 const time1 = new Date(0); // epoch time console.log(time1); // Thu Jan 01 1970 05:30:00 // 100000000000 milliseconds after the epoch time const time2 = new Date(100000000000) console.log(time2); // Sat Mar 03 1973 15:16:40

Huomaa : 1000 millisekuntia vastaa yhtä sekuntia.

uusi päivämäärä (päivämäärämerkkijono)

new Date(date string) luo uuden päivämääräobjektin päivämäärämerkkijonosta.

JavaScriptissä on yleensä kolme päivämäärän syöttömuotoa.

ISO-päivämäärämuodot

Voit luoda päivämääräobjektin välittämällä ISO-päivämäärämuodot. Esimerkiksi,

 // ISO Date(International Standard) const date = new Date("2020-07-01"); // the result date will be according to UTC console.log(date); // Wed Jul 01 2020 05:45:00 GMT+0545

Voit myös ohittaa vain vuoden ja kuukauden tai vain vuoden. Esimerkiksi,

 const date = new Date("2020-07"); console.log(date); // Wed Jul 01 2020 05:45:00 GMT+0545 const date1 = new Date("2020"); console.log(date1); // Wed Jul 01 2020 05:45:00 GMT+0545

Voit myös siirtää tietyn ajan ISO-päivämäärille.

 const date = new Date("2020-07-01T12:00:00Z"); console.log(date); // Wed Jul 01 2020 17:45:00 GMT+0545

Huomaa : Päivämäärä ja aika erotetaan isolla T- kirjaimella . Ja UTC-aika määritetään isolla Z: llä .

Lyhyt ja pitkä päivämäärämuoto

Kaksi muuta päivämäärämuotoa ovat lyhyt ja pitkä päivämäärämuoto .

 // short date format "MM/DD/YYYY" const date = new Date("03/25/2015"); console.log(date); // Wed Mar 25 2015 00:00:00 GMT+0545 // long date format "MMM DD YYYY" const date1 = new Date("Jul 1 2020"); console.log(date1); // Wed Jul 01 2020 00:00:00 GMT+0545 // month and day can be in any order const date2 = new Date("1 Jul 2020"); console.log(date2); // Wed Jul 01 2020 00:00:00 GMT+0545 // month can be full or abbreviated. Also month names are insensitive. // comma are ignored const date3 = new Date("July 1 2020"); console.log(date3); // Wed Jul 01 2020 00:00:00 GMT+0545 const date4 = new Date("JULY, 1, 2020"); console.log(date4); // Wed Jul 01 2020 00:00:00

uusi päivämäärä (vuosi, kuukausi, päivä, tunnit, minuutit, sekunnit, millisekunnit)

new Date(year, month,… )luo uuden päivämääräobjektin kulkemalla tietty päivämäärä ja aika. Esimerkiksi,

 const time1 = new Date(2020, 1, 20, 4, 12, 11, 0); console.log(time1); // Thu Feb 20 2020 04:12:11

Annetulla argumentilla on tietty järjestys.

Jos neljä numeroa välitetään, se edustaa vuotta, kuukautta, päivää ja tuntia. Esimerkiksi,

 const time1 = new Date(2020, 1, 20, 4); console.log(time1); // Thu Feb 20 2020 04:00:00

Vastaavasti, jos kaksi argumenttia hyväksytään, se edustaa vuotta ja kuukautta. Esimerkiksi,

 const time1 = new Date(2020, 1); console.log(time1); // Sat Feb 01 2020 00:00:00

Huomaa : Jos välität vain yhden argumentin, sitä käsitellään millisekunnina. Siksi sinun on annettava kaksi argumenttia käyttääksesi tätä päivämäärämuotoa.

JavaScriptissä kuukaudet lasketaan 0: sta 11: een . Tammikuu on 0 ja joulukuu 11 .

JavaScript-päivämäärämenetelmät

JavaScript Date -objektissa on käytettävissä useita menetelmiä.

Menetelmä Kuvaus
nyt() Palauttaa nykyisen ajan vastaavan numeerisen arvon (1. tammikuuta 1970 jälkeen kulunut millisekuntien määrä 00:00:00 UTC)
getFullYear () Hanki vuosi paikallisen ajan mukaan
getMonth () Hakee kuukauden, 0–11 paikallisen ajan mukaan
getDate () Saa kuukauden päivän (1-31) paikallisen ajan mukaan
getDay () Hakee viikonpäivän (0-6) paikallisen ajan mukaan
getHours () Saa tunnin välillä 0–23 paikallisen ajan mukaan
getMinutes Gets the minute from 0 to 59 according to local time
getUTCDate() Gets the day of the month (1-31) according to universal time
setFullYear() Sets the full year according to local time
setMonth() Sets the month according to local time
setDate() Sets the day of the month according to local time
setUTCDate() Sets the day of the month according to universal time

Example: Date Methods

 const timeInMilliseconds = Date.now(); console.log(timeInMilliseconds); // 1593765214488 const time = new Date; // get day of the month const date = time.getDate(); console.log(date); // 30 // get day of the week const year = time.getFullYear(); console.log(year); // 2020 const utcDate = time.getUTCDate(); console.log(utcDate); // 30 const event = new Date('Feb 19, 2020 23:15:30'); // set the date event.setDate(15); console.log(event.getDate()); // 15 // Only 28 days in February! event.setDate(35); console.log(event.getDate()); // 7

Formatting a Date

Unlike other programming languages, JavaScript does not provide a built-in function for formatting a date.

However, you can extract individual bits and use it like this.

 const currentDate = new Date(); const date = currentDate.getDate(); const month = currentDate.getMonth(); const year = currentDate.getFullYear(); // show in specific format let monthDateYear = (month+1) + '/' + date + '/' + year; console.log(monthDateYear); // 7/3/2020

Note: The above program gives inconsistent length as date and month have single-digit and double-digit.

AutoCorrection in Date Object

When you assign out of range values in the Date object, it auto-corrects itself. For example,

 const date = new Date(2008, 0, 33); // Jan does not have 33 days console.log(date);

Output

 Sat Feb 02 2008

Lisätietoja päivämäärästä ja kellonajasta JavaScriptissä on osoitteessa Päivämäärän ja kellonajan selvittäminen.

Mielenkiintoisia artikkeleita...