Tässä opetusohjelmassa opit päivämäärästä ja ajasta JavaScriptissä esimerkkien avulla.
Javascriptissa Date
objekti edustaa päivämäärää ja kellonaikaa . Date
Kohde 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)
Date
Objekti 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.