Skript pre aktuálny dátum. TempusJS - práca s dátumom v JavaScripte

Pomocou nového dátumu () vytvorte nový objekt dátumu obsahujúci aktuálny dátum a čas.

poznač si to Dátum () vypovedateľné bez argumentov, je ekvivalentné k nový dátum (Date.now ()) .

Keď máte objekt dátumu, môžete použiť niektoré z niekoľkých dostupných metód na získanie jeho vlastností (napríklad getFullYear () na získanie 4-miestneho roku).

Nasledujú niektoré bežné metódy dátumu.

Získajte aktuálny rok

var rok = (nový Dátum ()). getFullYear (); console.log (rok); // Ukážkový výstup: 2016

Získajte aktuálny mesiac

var mesiac = (nový dátum ()). getMonth (); console.log (mesiac); // Ukážkový výstup: 0

Všimnite si, že 0 = január. Dôvodom je, že mesiace sa pohybujú od 0 predtým 11 preto je často žiaduce pridať +1 k indexu.

Získajte aktuálny deň

var deň = (nový dátum ()). getDate (); console.log (deň); // Ukážkový výstup: 31

Získať aktuálnu hodinu

var hodiny = (nový dátum ()). getHours (); console.log (hodiny); // Ukážkový výstup: 10

Získajte aktuálne minúty

var minutes = (nový Dátum ()). getMinutes (); console.log (minúty); // Ukážkový výstup: 39

Získajte aktuálne sekundy

var sekúnd = (nový dátum ()). getSeconds (); console.log (druhý); // Ukážkový výstup: 48

Získajte aktuálne milisekundy

Ak chcete získať milisekundy (0 až 999) inštancie objektu Date, použite metódu getMilliseconds.

Var milisekundy = (nový dátum ()). GetMilliseconds (); console.log (milisekundy); // Výstup: milisekundy práve teraz

Previesť aktuálny čas a dátum na reťazec čitateľný pre človeka

var teraz = nový Dátum (); // prevod dátumu na reťazec vo formáte časového pásma UTC: console.log (now.toUTCString ()); // Výstup: Streda, 21. júna 2017 09:13:01 GMT

Statická metóda Date.now () vracia počet milisekúnd od 1. januára 1970 00:00:00 UTC. Ak chcete získať počet milisekúnd od tej doby pomocou inštancie objektu Date, použite jeho metódu getTime.

// získajte milisekundy pomocou statickej metódy teraz z Date console.log (Date.now ()); // získajte milisekundy pomocou metódy getTime of Date inštancie console.log ((new Date ()). getTime ());

Programátor sa len zriedka vyhne práci s dátumami a časmi. Dátum / čas je vo všeobecnosti základný koncept a väčšina jazykov má vstavané mechanizmy na prácu s týmto typom údajov. Zdá sa, že JS nie je výnimkou, existuje vstavaný typ dátumu, v prototype je však veľa funkcií, ...

Kto je vinný
Prvý problém nastáva, keď potrebujete nastaviť dátum / čas v inom časovom pásme, ako je UTC a miestne. Konštruktor dátumu nemá žiadny taký parameter.

Nový dátum (); nový dátum (hodnota); nový dátum (dateString); nový dátum (rok, mesiac [, deň [, hodina [, minúta [, druhá [, milisekunda]]]]]]);
Jedinou možnosťou, kde môžete určiť posun voči UTC, je tretí spôsob. Zavolanie konštruktora v tomto formáte vám umožní posunúť offset ako súčasť reťazca:

Nový dátum („ne, 1. februára 1998, 00:00:00 GMT + 0700“)
Reťazec je akceptovaný vo formáte RFC2822, čo je veľmi nepohodlné a náročné na manuálne zadávanie. Je takmer nemožné získať takýto reťazec z používateľského vstupu. Neviem si predstaviť osobu, ktorá by súhlasila so zadaním dátumu v tomto formáte.

Napriek tomu, že v Date môžete nastaviť všetky parametre oddelene pre časové pásmo UTC - tým sa problém nevyrieši - časové pásmo zostane lokálne. Ale to nie je jediný problém.

Offset UTC nie je konštantný. Toto je funkcia dátumu, času (alebo časovej pečiatky, ak chcete) a opäť časového pásma. Napríklad pre Moskvu posledný preklad uvádza:

Nový dátum (2014, 9, 25, 0, 0, 0); // 26.10.2014, 21:00:00 GMT + 3 nový Dátum (2014, 9, 27, 0, 0, 0); // 25.10.2014, 22:00:00 GMT + 4
Konštruktér v tretej možnosti sa teda stáva prakticky nepoužiteľným, pretože posun musí byť vopred známy. A to, ako bolo povedané, sa nedá len tak ľahko získať. Jediná knižnica, s ktorou som sa stretol a ktorá používa Olsonovu databázu na výpočet posunov, je časové pásmo-JS. Problém s používaním tejto knižnice je ten, že podkladové knižnice (nástroje na výber dátumu / času) o ničom nevedia a interne štandardne používajú dátum. Ostatné knižnice pracujúce s objektom Date na túto základňu výslovne neodkazujú a neprijímajú z nej aktualizácie. (Opravte ma v komentároch.)

V podnikových aplikáciách majú časové pásma zmysel iba vtedy, ak je zadaný dátum a čas. Ak sa napríklad pracovný deň začína o 9:00, takmer nečakáte, že váš kolega z Vladivostoku začne pracovať o 15:00. Časové pásma by sa nemali brať do úvahy a v takom prípade by mal byť dátum zobrazený v UTC. V prípade pravidelných udalostí, ktoré sa vyskytujú súčasne v rôznych časových pásmach, je však časové pásmo stále potrebné. Napríklad váš denný Scrum začína o 10:00 pre vás a o 13:00 v Novosibirsku. Mimochodom, toto je presne rozdiel medzi GMT a UTC. UTC je čas bez posunu a GMT je čas s posunom 0. Vysvetlím to na príklade:

31.12.2014 20:59:59 GMT v moskovskom časovom pásme by malo vyzerať 31.12.2014 23:59:59 31.12.2014 20:59:59 UTC v moskovskom časovom pásme by malo vyzerať 12/ 31/2014 20:59: 59
Vďaka tejto aritmetike sú väčšinou zmätení. Tento parameter je bohužiaľ všade zmätený. Absencia priamej indikácie časového pásma v JS sa interpretuje ako lokálne časové pásmo a označenie UTC a GMT je ekvivalentné.

Intl. Mohla by som, ale nemusím. Existuje najmä taký parameter timeZone, ale o niečo ďalej štandard definuje: Časové pásmo, ktoré sa má použiť. Jedinou hodnotou, ktorú musia implementácie rozpoznať, je „UTC“. V súčasnosti okrem prehliadača Chrome žiadny iný prehliadač nepodporuje ľubovoľné časové pásma.
S časovými rozsahmi v JS je všetko naozaj zlé - v jazyku nič také neexistuje. Ak to chcete urobiť dobre, urobte to sami.

Čo robiť
  • Možnosť 1.
    Nepoužívajte ľubovoľné časové pásmo. Táto možnosť je vhodnejšia a pravdepodobne aj najmenej bolestivá. To znamená, že máte iba miestne časové pásmo a UTC. V týchto prípadoch sa zdá, že všetky prehliadače majú všetko, aj keď nie veľmi pohodlné. Časové pásmo je navyše globálne nastavené pre operačný systém a nie je košer ho meniť pre konkrétnu webovú aplikáciu.
  • Možnosť 2.
    Ak sú potrebné ľubovoľné časové pásma, nepoužívajte časovú pečiatku. Vôbec. Uložte čas v sporiteľni v riadku RFC s uvedením časového pásma. Nie som si istý, či to pomôže poraziť posuny časových pásiem v porozumení medzi prehliadačmi, ale Chrome si aspoň tieto posuny uvedomuje.
  • Možnosť 3.
    Situácie sú rôzne a stane sa, že čas sa zaznamená do databázy z akéhokoľvek zariadenia. Teda vo forme časovej pečiatky. Nie je kam bežať, aby ste správne zobrazili čas, potrebujete vedieť buď časové pásmo zariadenia, alebo časové pásmo používateľa alebo oboje, a vypočítať všetky posuny z ruky do ruky. Bez použitia Olsonovej základne sa nezaobídete.
  • V tejto bájke by mala byť morálka, ale nemám k tomu viac čo dodať. V návrhoch štandardu ECMA nevidím žiadny pokrok, pravdepodobne žiadny nebude.

V tejto lekcii si predstavíme objekt JavaScript Date a naučíme sa ho používať v praxi.

Vytvorenie dátumu - 4 príklady

V JavaScripte sa vytváranie dátumu vykonáva pomocou objektu Date. Objekt Date predstavuje bod na časovej osi a je navrhnutý tak, aby ukladal dátum a čas s presnosťou na milisekundy.

Príklady vytvorenia dátumu v JavaScripte.

1. Vytvorenie aktuálneho dátumu a času.

Získanie aktuálneho dátumu a času v jazyku JavaScript je hotové vytvorením inštancie objektu Date bez uvedenia parametrov:

// aktuálny dátum (dátum a čas, ktorý bol v čase vytvorenia inštancie objektu Date dňa miestny počítač užívateľ) var teraz = nový Dátum (); // napríklad vytlačte aktuálny dátum na konzolu console.log (teraz);

Ak potrebujete získať iba dnešný dátum vo formáte reťazca, môžete použiť metódu toLocaleDateString:

Var now = nový dátum (). ToLocaleDateString (); // 19.12.2019

Aktuálny čas používateľa je možné získať takto:

Var now = nový dátum (). ToLocaleTimeString (); // 11:02:48 var now = nový dátum (). ToLocaleTimeString (). Slice (0, -3); // 11:02

Dátum a čas vo formáte reťazca je možné získať nasledovne:

Var now = nový dátum (). ToLocaleString (); // 19.12.2019, 11:02:48

2. Vytvorte dátum zadaním počtu milisekúnd k objektu Date od 1. januára 1970 00:00:00 UTC.

// 1 rok (nie vysokorýchlostný) = 365 * 24 * 60 * 60 * 1000 = 31536000000 ms // napríklad vytvorte dátum 01/01/1971, 00:00:00 UTC: var date1 = nový dátum ( 31536000000);

3. Vytvorenie dátumu zadaním do objektu Date ako reťazca.

S touto možnosťou vytvorenia dátumu sa JavaScript pokúsi porozumieť reťazcu, ktorý mu bol odovzdaný, a na základe neho vytvoriť dátum. Konverzia reťazca na dátum v JavaScripte sa vykonáva pomocou metódy Date.parse.

Napríklad:

// vytvorenie dátumu na základe reťazca vo formáte DD.MM.RR var date1 = nový dátum ("05.11.19"); // vytvorte dátum na základe reťazca vo formáte RRRR-MM-DDThh: mm: ss.sss (T sa používa na oddelenie dátumu a času) var date2 = nový dátum ("2015-02-24T21: 23"); // vytvorenie dátumu na základe reťazca označujúceho časové pásmo (RRRR-MM-DDThh formát: mm: ss.sss ± hh: mm): var date3 = nový dátum ("2015-02-24T22: 02 + 03: 00" ");

4. Vytvorte dátum zadaním nasledujúcich parametrov oddelených čiarkami: rok (4 číslice), mesiac (od 0), deň (1..31), hodiny (0..23), minúty (0..59), sekundy (0..59), milisekundy (0.. 999). Okrem toho sú požadované iba prvé dva parametre.

Príklad vytvorenia dátumu s iba požadovanými parametrami:

// vytvorenie dátumu 01.01.2015 (nešpecifikované parametre sú predvolene rovnaké: číslo - 01, hodiny - 00, minúty - 00, sekundy - 00, milisekundy - 000). var date1 = nový Dátum (2015.01); // vytvorte dátum 01.24.2015, 21:23 var date2 = nový Dátum (2015,01,24,21,23);

Poznámka: Ak potrebujete nastaviť dátum a čas v UTC, môžete použiť metódu Date.UTC.

// 1 príklad var date1 = Date.UTC (2015,1,1); var date2 = nový Dátum (dátum1); alert (date2.toUTCString ()); // 2. príklad var newDate = nový dátum (Date.UTC (2015,1,1)); alert (newDate.toUTCString ());

Získavanie jednotlivých komponentov dátumu a času

JavaScript používa na získanie jednotlivých komponentov dátumu a času nasledujúce metódy:

  • getFullYear () - vráti 4 -miestny rok;
  • getMonth () - vráti mesiac vo formáte čísla od 0 do 11 (0 - január, 1 - február, 2 - marec, ..., 11 - december);
  • getDate () - vráti deň v mesiaci od 1 do 31;
  • getHours () - vráti počet hodín od 0 do 23;
  • getMinutes () - vráti počet minút od 0 do 59;
  • getSeconds () - vráti počet sekúnd od 0 do 59;
  • getMilliseconds () - Vráti počet milisekúnd od 0 do 999.

Všetky tieto metódy vracajú oddelené komponenty dátumu a času podľa nastaveného časového pásma lokálne zariadenie používateľ.

// vytvorenie dátumu 11/11/2019 00:00 UTC var newDate = nový dátum (Date.UTC (2019,11,11)); // získanie súčastí dátumu, ak je miestny čas na zariadení používateľa UTC + 10: 00 newDate.getFullYear (); // 2019 newDate.getMonth (); // 10 newDate.getDate (); // 11 newDate.getHours (); // 10 newDate.getMinutes (); // 0 newDate.getSeconds (); // 0 newDate.getMilliseconds (); // 0

Príklad, v ktorom pozdravíme používateľa podľa toho, v akom časovom intervale sa práve nachádza:

// získajte aktuálny čas a komponenty tohto času používateľa var now = new Date (), hour = now.getHours (), minute = now.getMinutes (), second = now.getSeconds (), message = ""; // definujte pozdravnú frázu na základe miestneho času používateľa if (hodina<= 6) { message = "Доброе время суток"; } else if (hour <= 12) { message = "Доброе утро"; } else if (hour <= 18) { message = "Добрый день"; } else { message = "Добрый вечер"; } // выполним форматирование времени с использованием тернарного оператора minute = (minute < 10) ? "0" + minute: minute; second = (second < 10) ? "0" + second: second; hour = (hour < 10) ? "0" + hour: hour; message += ", сейчас " + hour + ":" + minute + ":" + second; // выведем приветствие и время в консоль console.log(message); // Добрый вечер, сейчас 22:50:39

V tomto prípade je čas zobrazený v požadovanom formáte pomocou ternárneho operátora.

JavaScript má analógie s týmito metódami na získanie jednotlivých komponentov dátumu a času pre časové pásmo UTC + 0. Tieto metódy sú pomenované podobne, ale s „UTC“ pridaným za „get“: getUTCFullYear (), getUTCMonth (), getUTCDate (), getUTCHours (), getUTCMinutes (), getUTCSeconds (), getMilliseconds ().

Deň v týždni môžete získať v jazyku JavaScript pomocou metódy getDay ().

Táto metóda vráti číslo od 0 do 6 (0 - nedeľa, 1 - pondelok, ..., 6 - sobota).

Príklad, v ktorom prevádzame deň v týždni z numerickej na reťazcovú reprezentáciu:

Var days = [„nedeľa“, „pondelok“, „utorok“, „streda“, „štvrtok“, „piatok“, „sobota“]; // získať aktuálny dátum var now = new Date (); // vytlačte deň v týždni na konzolu console.log („Dnes“ + dni);

Počet milisekúnd, ktoré uplynuli od 1. januára 1970, 00:00:00 UTC v jazyku JavaScript, môžete získať pomocou metódy getTime ().

Rozdiel (v minútach) medzi časovým pásmom miestneho zariadenia a UTC môžete zistiť v JavaScripte pomocou metódy getTimezoneOffset ().

Nastavenie jednotlivých komponentov dátumu a času

V JavaScripte môžete nastaviť jednotlivé súčasti dátumu a času pomocou nasledujúcich metód na objekte Dátum:

  • setFullYear (rok [, mesiac, dátum]) - nastavenie roku (okrem toho môžete nastaviť ďalší mesiac a deň);
  • setMonth (month [, date]) - nastavenie mesiaca od 0 do 11 (0 - január, 1 - február, 2 - marec, ..., 11 - december); táto metóda vám navyše umožňuje nastaviť číslo;
  • setDate (dátum) - nastavenie čísla;
  • setHours (hour [, min, sec, ms]) - nastaví hodinu od 0 do 23 (môžete navyše nastaviť minúty, sekundy a milisekundy);
  • setMinutes (min [,) - nastavuje minúty od 0 do 59 (môžete navyše nastaviť viac sekúnd a milisekúnd);
  • setSeconds (sec,) - nastaví sekundy od 0 do 59 (navyše môžete nastaviť ďalšie milisekundy);
  • setMilliseconds (ms) - Nastaví milisekundy (0 až 999).

Všetky tieto metódy sú navrhnuté tak, aby nastavovali dátum a čas v časovom pásme nastavenom v počítači používateľa.

// vytvorenie inštancie objektu Date obsahujúceho aktuálny dátum var newDate = new Date (); // nastaviť rok newDate.setFullYear (2019); // nastavenie roku a mesiaca newDate.setFullYear (2019, 08); // set 20.09.2019 newDate.setFullYear (2019, 08, 20); // nastavenie mesiaca newDate.setMonth (05); // nastavenie mesiaca a dňa newDate.setMonth (05, 15); // nastavenie čísla newDate.setDate (28); // nastavenie hodiny newDate.setHours (13); // nastavenie hodiny a minúty newDate.setHours (13,20);

V JavaScripte sa nastavenie dátumu a času v časovom pásme UTC + 0 vykonáva pomocou nasledujúcich metód: setUTCFullYear (), setUTCMonth (), setUTCDate (), setUTCHours (), setUTCMinutes (), setUTCSecondes (), setUTCMilliseconds ().

Nastavenie dátumu a času pomocou počtu milisekúnd od 01/01/1970 00:00:00 UTC sa vykonáva pomocou a potom setTime ().

V JavaScripte navyše zadanie nesprávnych súčastí dátumu a času nevedie k chybám, sú jednoducho automaticky distribuované medzi ostatné.

Napríklad:

// číslo 44 bude distribuované nasledovne: 44 - 31 = 13, 13. februára 2019 newDate.setFullYear (2019, 01, 44);

Túto techniku ​​je možné použiť, keď potrebujete na určitý čas získať dátum, ktorý sa líši od daného.

// dátum, ktorý bude o 7 dní väčší ako newDate newDate.setDate (date1.getDate () + 7); // dátum, ktorý bude menší ako newDate o 120 sekúnd newDate.setSeconds (date1.getSeconds () - 120); // týmto spôsobom môžete nastaviť posledný deň predchádzajúceho mesiaca na newDate newDate.setDate (0);

Konvertovanie dátumu na reťazec a jeho formátovanie

V JavaScripte je možné metódy prevodu dátumu na reťazec rozdeliť do 2 skupín.

Prvá skupina zahŕňa metódy, ktoré to robia podľa definície v prehliadači: toString (), toDateString (), toTimeString (), toUTCString ().

Metóda toString () vracia úplné zobrazenie dátumu, toDateString () - iba dátum, toTimeString () - iba čas, toUTCString () - úplné zobrazenie dátumu, ale v časovom pásme UTC + 0.

Pretože reťazcové reprezentácie, ktoré by tieto metódy mali vrátiť, nie sú v štandarde jasne definované, môžu sa líšiť v rôznych prehliadačoch.

Do druhej skupiny metódy je možné klasifikovať s prihliadnutím na časové pásmo a jazyk miestneho počítača: toLocaleString () - dátum a čas, toLocaleDateString () - iba dátum, toLocaleTimeString () - iba čas.

Metódy toLocaleString (), toLocaleDateString (), toLocaleTimeString () majú 2 voliteľné parametre. Prvý parameter slúži na explicitné určenie miestneho nastavenia, druhý slúži na zadanie možností formátovania.

Ak národné prostredie nie je explicitne nastavené alebo nedefinované, prehliadač použije predvolene to, ktoré má.

JavaScript má navyše aj metódu toISOString (). Vráti reťazec obsahujúci dátum a čas vo formáte ISO (RRRR-MM-DDTHH: mm: ss.sssZ).

// vytvorte dátum 15.04.2019 18:43:59 (v časovom pásme používateľa) var newDate = nový dátum (2019, 03, 15, 18, 43, 59); console.log (newDate.toString ()); // Po, 15. apríla 2019 18:43:59 GMT + 1000 (Vladivostokský štandardný čas) console.log (newDate.toDateString ()); // Po, 15. apríla 2019 console.log (newDate.toTimeString ()); // 18:43:59 GMT + 1000 (štandardný čas Vladivostoku) console.log (newDate.toLocaleString ()); // 15.04.2019, 18:43:59 console.log (newDate.toLocaleDateString ()); // 15.04.2019 console.log (newDate.toLocaleTimeString ()); // 18:43:59 console.log (newDate.toUTCString ()); // po, 15. apríla 2019 08:43:59 GMT console.log (newDate.toISOString ()); // 2019-04-15T08: 43: 59.000Z

Metóda prevodu reťazca na dátum

JavaScript používa metódu Date.parse () na konverziu reťazca na dátum. Táto metóda môže previesť reťazec, ak je v súlade s RFC2822 alebo ISO 8601.

V tejto lekcii zvážte normu ISO 8601, ktorá vyžaduje, aby bol reťazec v nasledujúcom formáte: RRRR-MM-DDThh: mm: ss.sssZ.

  • RRRR - 4 -miestny rok;
  • MM je 2-ciferný mesiac (01 = január, 02 = február atď.);
  • DD - deň v mesiaci, pozostávajúci z 2 číslic (01..31);
  • T - znak na oddelenie dátumu a času;
  • hh - počet hodín (00..23);
  • mm - počet minút (00..59);
  • ss - počet sekúnd (00..59);
  • sss - počet milisekúnd (0..999);
  • Z je znak, ktorý znamená, že čas je zadaný vo formáte UTC. Ak potrebujete namiesto UTC nastaviť časové pásmo, potom by písmeno „Z“ malo byť nahradené hodnotou + hh: mm alebo -hh.mm.

Ak reťazec obsahujúci dátum a čas nie je vo formáte RFC2822 alebo ISO 8601, metóda JavaScript Date.parse () ho môže stále previesť, ale výsledok v tomto prípade môže byť nepredvídateľný.

Získať aktuálny dátum v JavaScripte je veľmi jednoduché. Na to slúži objekt Date. Jeho syntax je jasná a názvy metód sú intuitívne. V nižšie uvedených príkladoch vám ukážem, ako pracovať s objektom Date ( JavaScript nový dátum), aby ste získali aktuálny rok, mesiac, deň a čas s presnosťou na milisekundy!

Získanie aktuálneho dátumu:

Ak chcete získať aktuálny dátum v jazyku JavaScript, pomocou nového kľúčového slova vytvorte novú inštanciu objektu Date.

var date = nový Dátum (); console.log (dátum);

Tento kód vytlačí na konzolu nasledujúce informácie:

// utorok 2. februára 2016 15:46:56 GMT-0500 (východný štandardný čas)

V 24-hodinovom formáte zobrazuje aktuálny deň v týždni, aktuálny mesiac, deň v mesiaci, rok a dokonca aj aktuálny čas. Fragment " GMT„Znamená GMT a“ -0500 „Je rozdiel v časových pásmach medzi miestnym časom a GMT.

Citácia z Wikipedie: Greenwichský stredný čas ( GMT) Je priemerný slnečný čas v Kráľovskom observatóriu v londýnskom Greenwichi. “ Je to spojené s univerzálny koordinovaný čas (UTC). « Východný Štandardný Čas"V zobrazenom dátume sa hodnota vzťahuje na časové pásmo vášho prehliadača alebo počítača."

* Upozorňujeme, že GMT a UTC sa líšia. Hodnoty UTC zvážime v minútach.

* Upozorňujeme, že dátum v jazyku JavaScript je založený na čase v milisekundách od polnoci 1. januára 1970 UTC. Za jeden deň je 86 400 000 milisekúnd. Rozsah objektu Date je -100 000 000 dní až 100 000 000 dní vzhľadom na 1. január 1970 UTC.

* Hodnoty získané vyššie uvedenou metódou závisia od systémových nastavení vášho zariadenia. Ak zmeníte nastavenia hodín počítača, zmení sa aj čas, ktorý táto metóda vráti.

Dobre, dostali sme sa k novým formátom JavaScript dátumu a sme pripravení pokračovať!

Získanie dňa v týždni:

Ak chcete získať deň v týždni, použite túto metódu Objekt dátumu JavaScript getDay ():

var deň = date.getDay (); console.log (deň);

* Všimnite si toho, že dni v týždni sú očíslované od 0 do 6, nedeľa = 0, pondelok = 1, utorok = 2 atď.

Získanie mesiaca:

Ak chcete získať aktuálny mesiac aktuálneho roka, použite metódu getMonth (). Predtým som povedal, že názvy metód sú intuitívne!

var mesiac = date.getMonth (); console.log (mesiac); // 1

* Všimnite si toho, že rovnako ako dni v týždni sú mesiace vrátené v číselnom formáte od 0 do 11; Január = 0, február = 1, marec = 2 atď.

Získanie dňa v mesiaci:

Na získanie dňa v mesiaci môžete použiť metódu GetDate ().

var dayOfMonth = date.getDate (); console.log (dayOfMonth); // 2

* Metóda GetDate () vracia dni v mesiaci očíslované od 1 do 31; číslo 1 zodpovedá prvému dňu v mesiaci.

Získanie času:

Na získanie aktuálneho času sa používa metóda GetTime ().

var time = date.getTime (); console.log (čas); // 1454461242058

Vyzerá to ... zvláštne ... Čo je to? Počet milisekúnd vidíte od 1. januára 1970 00:00:00 UTC. Tak koľko je to rokov?

1454461242058 ms / 31,540000000 ms za rok = asi 46 rokov
1970 + 46 rokov = 2016

Skontrolujeme, aby sme sa presvedčili:

var year = date.getFullYear (); console.log (rok) // 2016

Áno, toto je ono! Práve sme odvodili aktuálny dátum a čas pomocou nového dátumu JavaScript.

Ďalšou užitočnou vecou pre webové stránky je vloženie aktuálneho dátumu. Na internete existuje niekoľko desiatok príkladov dátumových skriptov, ale mnohé z nich sú podľa mňa ťažké, a preto škaredé. Medzitým používajte štandardné prostriedky JavaScript, je veľmi jednoduché vložiť dátum na webovú stránku. Používam ho veľmi často! Na obrázku (snímka obrazovky z aktuálneho webu) panstvo "Rozprávka" !

Tu je celý skript dátumu:

Podľa mňa to nemôže byť jednoduchšie, je to celkom krásne a zrozumiteľné. Ak si neželáte študovať stavbu tohto skriptu, jednoducho ho prilepte kdekoľvek na stránku HTML a dostanete nasledujúci nápis:

Ďalšia pokročilejšia možnosť


! Dnes

Vyzerá to takto:

Dnes

Vo všeobecnosti nie sú potrebné žiadne znalosti, stačí hlúpo vložiť kód a všetko je v poriadku!

Viac informácií:

Začneme teda priradením hodnoty dátumu premennej d, potom vytvorte polia ( Array) pre dni v týždni ( deň) a mesiace ( mesiac), pričom ich uveďte v potrebnej gramatickej forme: pád, číslo, veľké písmeno ak je slovo na začiatku dátumu atď. Posledný riadok skriptu je tlač skutočného dátumu ( document.write). Tu nastavíte, čo a v akom poradí budete v reťazci zobrazovať aktuálny dátum. Komponenty sú od seba oddelené znamienkom + ... Na vstup do priestoru použite konštrukciu " " , a zadať písmeno g (rok) - stavba "G."

Ako môžete vidieť zo skriptu, získavanie údajov o aktuálnom čase vykonáva prvok dostať... Táto metóda poskytuje nasledujúce informácie:

  • getDate ()- vráti číslo od 1 do 31, ktoré predstavuje deň v mesiaci;
  • getDay ()- vráti deň v týždni ako celé číslo od 0 (nedeľa) do 6 (sobota);
  • getMonth ()- vráti číslo mesiaca v roku;
  • getFullYear ()- vráti rok. Použiť jednoducho getYear (), potom sa zobrazí aktuálny rok mínus 1900;
  • získať hodiny ()- vráti hodinu dňa;
  • getMinutes ()- vráti minúty ako číslo od 0 do 59;
  • getSeconds ()- vráti počet sekúnd od 0 do 59.

Prilepiť priamo Java-script na stránke stránky nie je vždy pohodlný. Je lepšie umiestniť popis skriptu do hornej časti stránky medzi značky a nastavíme premennú, ktorú budeme podľa potreby v texte vyvolávať. Nazvime to DNES a definujte v ňom formulár pre zobrazenie dátumu podobne ako vyššie. Skript bude vyzerať takto:

Ak chcete zobraziť dátum, zavolajte skript na správnom mieste v kóde HTML stránky pomocou nasledujúceho príkazu:

Ak váš web obsahuje veľa stránok, na ktorých chcete zobraziť dátum, je vhodnejšie ho zvýrazniť Java-skript na zobrazenie dátumu v samostatný súbor, napríklad, data.js... V praxi ide o stránku pozostávajúcu z prvého z popísaných skriptov, teda s riadkom document.write(viď vyššie). Umiestnite ho do rovnakého adresára ako hlavná stránka a zavolajte ho na miesto výstupu dátumu nasledovne:

Nezabudnite skontrolovať, či je súbor data.js mal rovnaké kódovanie ako hlavný dokument, inak sa dátum zobrazí s nádhernými háčikmi, štvorcami a inými vylepšeniami.

Komentovať. Je potrebné mať na pamäti, že popísaný skript zobrazuje dátum nastavený v počítači používateľa, ktorý nie vždy zodpovedá skutočnému aktuálnemu času. Ak potrebujete ukázať presný čas, musíte použiť skript PHP, ktorý ukáže čas na serveri.