Dátum a čas JavaScriptu

V tomto návode sa pomocou príkladov dozviete o dátume a čase v JavaScripte.

V JavaScripte predstavuje dátum a čas Dateobjekt. DateObjekt obsahuje informácie o dátume a čase a tiež ponúka celý rad možností.

Dátum v jazyku JavaScript definuje epochu EcmaScript, ktorá predstavuje milisekundy od 1. januára 1970 UTC . Tento dátum a čas je rovnaký ako v epoche UNIX (prevažujúca základná hodnota pre hodnoty dátumu a času zaznamenané počítačom).

Vytváranie dátumových objektov

Existujú štyri spôsoby, ako vytvoriť objekt dátumu.

  • nový dátum ()
  • nový dátum (milisekundy)
  • nový dátum (reťazec dátumu)
  • nový Dátum (rok, mesiac, deň, hodiny, minúty, sekundy, milisekundy)

nový dátum ()

Dátumový objekt môžete vytvoriť pomocou new Date()konštruktora. Napríklad,

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

Výkon

 Po júl 06 2020 12:03:49 GMT + 0545 (nepálsky čas)

Tu new Date()vytvorí nový objekt dátumu s aktuálnym dátumom a miestnym časom.

nový dátum (milisekundy)

DateObjekt obsahuje číslo, ktoré predstavuje milisekúnd od 1. januára 1970 UTC .

new Date(milliseconds)vytvorí nový objekt dátumu pridaním milisekúnd k nule. Napríklad,

 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

Poznámka : 1 000 milisekúnd sa rovná 1 sekunde.

nový dátum (dátumový reťazec)

new Date(date string) vytvorí nový objekt dátumu z reťazca dátumu.

V JavaScripte existujú všeobecne tri formáty vstupu dátumu.

Formáty dátumu ISO

Objekt dátumu môžete vytvoriť odovzdaním formátov dátumu ISO. Napríklad,

 // 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

Môžete tiež odovzdať iba rok a mesiac alebo iba rok. Napríklad,

 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

Môžete tiež zadať konkrétny čas dátumom ISO.

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

Poznámka : Dátum a čas sú oddelené s veľkým písmenom T . UTC a času je definovaná kapitálu Z .

Krátky a dlhý formát dátumu

Ďalšie dva formáty dátumu sú formát krátkeho dátumu a formát dlhého dátumu .

 // 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

nový Dátum (rok, mesiac, deň, hodiny, minúty, sekundy, milisekundy)

new Date(year, month,… )vytvorí nový objekt dátumu zadaním konkrétneho dátumu a času. Napríklad,

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

Predaný argument má konkrétne poradie.

Ak sú zadané štyri čísla, predstavuje to rok, mesiac, deň a hodiny. Napríklad,

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

Podobne, ak sú predložené dva argumenty, predstavuje to rok a mesiac. Napríklad,

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

Poznámka : Ak zadáte iba jeden argument, bude sa to považovať za milisekundy. Ak chcete použiť tento formát dátumu, musíte zadať dva argumenty.

V JavaScripte sa mesiace počítajú od 0 do 11 . Január je 0 a december je 11 .

Metódy dátumu JavaScript

V objekte JavaScript Date sú k dispozícii rôzne metódy.

Metóda Popis
teraz () Vráti číselnú hodnotu zodpovedajúcu aktuálnemu času (počet milisekúnd uplynul od 1. januára 1970 00:00:00 UTC)
getFullYear () Získa rok podľa miestneho času
getMonth () Získa mesiac, od 0 do 11 podľa miestneho času
getDate () Získa deň v mesiaci (1-31) podľa miestneho času
getDay () Získa deň v týždni (0-6) podľa miestneho času
getHours () Získava hodinu od 0 do 23 podľa miestneho času
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

Ak sa chcete dozvedieť viac informácií o dátume a čase v JavaScripte, navštívte Demystifikovanie dátumu a času.

Zaujímavé články...