Jquery získat aktuální čas. JavaScript Získejte aktuální čas a datum

Dostat dnešní datum V JavaScriptu je to velmi jednoduché. K tomu slouží objekt Date. Jeho syntaxe je poměrně jednoduchá a názvy metod jsou intuitivní. V níže uvedených příkladech vám ukážu, jak pracovat s objektem Date (nové datum v JavaScriptu), abyste získali aktuální rok, měsíc, den a čas na milisekundu!

Získání aktuálního data:

Chcete-li získat aktuální datum v JavaScriptu, použijte klíčové slovo new k vytvoření nové instance objektu Date.

var datum = new Date(); console.log(datum);

Tento kód vytiskne do konzole následující informace:

//Tue Feb 02 2016 15:46:56 GMT-0500 (východní standardní čas)

Zobrazuje aktuální den v týdnu, aktuální měsíc, den v měsíci, rok a dokonce i aktuální čas ve 24hodinovém formátu. Fragment "GMT" znamená Greenwichský střední čas a "-0500" je rozdíl v časovém pásmu mezi místním časem a GMT.

Citace z Wikipedie: "Greenwichský čas (GMT) je střední sluneční čas na Královské observatoři v Greenwichi v Londýně." To souvisí s koordinovaným světovým časem (UTC). „Východní standardní čas“ v zobrazené hodnotě data odkazuje na časové pásmo vašeho prohlížeče nebo počítače.

*Upozorňujeme, že GMT a UTC se liší. Hodnoty UTC budeme uvažovat v minutách.

* Všimněte si také, že datum v JavaScriptu je určeno časem v milisekundách, který uplynul od půlnoci 1. ledna 1970, UTC. Jeden den je 86 400 000 milisekund. Rozsah objektu Date je -100 000 000 dní až 100 000 000 dní vzhledem k 1. lednu 1970, UTC.

*Hodnoty získané pomocí výše uvedené metody závisí na systémovém nastavení vašeho zařízení. Pokud změníte nastavení hodin počítače, změní se také čas, který tato metoda vrací.

Dobře, přišli jsme na nové formáty Date JavaScript a nyní jsme připraveni jít dál!

Získání dne v týdnu:

Chcete-li získat den v týdnu, použijte metodu getDay() JavaScriptu objektu Date:

var den = date.getDay(); console.log(den);

*Upozorňujeme, že dny v týdnu jsou číslovány od 0 do 6, neděle = 0, pondělí = 1, úterý = 2 atd.

Získání měsíce:

Chcete-li získat aktuální měsíc aktuálního roku, použijte metodu getMonth(). Předtím jsem řekl, že názvy metod jsou intuitivní!

var měsíc = datum.getMonth(); console.log(měsíc); //1

*Všimněte si, že stejně jako dny v týdnu jsou měsíce vráceny v číselném formátu od 0 do 11; Leden = 0, únor = 1, březen = 2 a tak dále.

Získání dne v měsíci:

Chcete-li získat den v měsíci, můžete použít metodu GetDate().

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

* Metoda GetDate() vrací dny v měsíci očíslované od 1 do 31; číslo 1 odpovídá prvnímu dni v měsíci.

Získání času:

K získání aktuálního času se používá metoda GetTime().

var time = datum.getTime(); console.log(time); //1454461242058

Vypadá... divně... Co to je? Zobrazí se počet milisekund, které uplynuly od 1. ledna 1970 00:00:00 UTC. Jak je to tedy staré?

1454461242058 ms / 31540000000 ms za rok = přibližně 46 let
1970 + 46 let = 2016

Zkontrolujeme, abychom se ujistili:

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

Ano, to je ono! Právě jsme použili JavaScript k vytištění aktuálního data a času pomocí nového data.

Datum a čas jsou součástí našeho každodenního života, a proto hrají významnou roli v programování. V JavaScriptu při vytváření webu možná budete muset přidat kalendář, jízdní řád vlaků nebo rozhraní pro plánování schůzek. Tyto aplikace musí zobrazovat relevantní časy na základě aktuálního časového pásma uživatele nebo provádět výpočty související s příletem a odletem letadla nebo časem začátku a konce události. Kromě toho může být nutné použít JavaScript k odesílání denních přehledů v určitých časech nebo k filtrování (například k nalezení restaurací otevřených v určitou dobu).

Objekt data

Datum je vestavěný objekt JavaScriptu, který ukládá datum a čas. Poskytuje řadu vestavěných metod pro formátování a správu těchto dat.

Ve výchozím nastavení vytvoří nová instance Date bez argumentů objekt s aktuálním datem a časem podle nastavení systému aktuální počítač.

Zkuste například k proměnné přiřadit aktuální datum. Vytvořte soubor now.js.

// Nastaví proměnnou na aktuální datum a čas
const now = new Date();
// Zobrazení výstupu
Nyní;
St 18. října 2017 12:41:34 GMT+0000 (UTC)

Výstupem je řetězec data, který obsahuje následující data:

Datum a čas jsou rozděleny a zobrazeny snadno čitelným způsobem.

JavaScript však interpretuje datum na základě unixového časového razítka, což je hodnota skládající se z počtu milisekund, které uplynuly od půlnoci 1. ledna 1970. Časové razítko můžete získat pomocí metody getTime().

// Získejte aktuální časové razítko
now.getTime();
1508330494000

Velké číslo, které se objeví ve výstupu jako aktuální časové razítko, představuje počet milisekund, které uplynuly od půlnoci 1. ledna 1970 do 18. října 2017.

Nulový čas (nebo čas epochy) je reprezentován řetězcem data 01. leden, 1970 00:00:00 Universal Time (UTC) a časovým razítkem 0. Můžete to otestovat v prohlížeči vytvořením nové proměnné v souboru epoch.js a přiřadit mu novou instanci Date na základě časového razítka 0.

// Přiřaďte časové razítko 0 nové proměnné
const epochTime = new Date(0);
epochTime;
1. ledna 1970 00:00:00 světový čas (UTC)

Jako standard pro to, jak počítače měří čas, byl zvolen nulový čas a tato metoda se používá v JavaScriptu. Je důležité porozumět časovým razítkům a datovým řetězcům, protože tyto koncepty lze použít v závislosti na nastavení a účelu aplikace.

Nyní víte, jak vytvořit novou instanci Date na základě aktuálního času a na základě časového razítka. V JavaScriptu jsou celkem čtyři formáty data. Kromě výchozího aktuálního času a časového razítka můžete také použít řetězec data nebo zadat konkrétní datum a čas.

Předvést různé cesty odkazy na konkrétní datum, zkuste vytvořit nové objekty Date, které představují 4. července 1776, 12:30 GMT třemi různými způsoby.

// Metoda časového razítka
nové Datum(-6106015800000);
// Metoda datového řetězce
nové Datum("31. ledna 1980 12:30");
// Metoda data a času
new Date(1776, 6, 4, 12, 30, 0, 0);

Všechny tyto příklady představují stejnou informaci o datu a čase třemi různými způsoby.

Jak vidíte, metoda časového razítka má záporné číslo; jakékoli datum před časem nula bude reprezentováno jako záporné číslo.

Ve třetím příkladu jsou sekundy a milisekundy reprezentovány 0. Pokud vám při vytváření objektu Date chybí nějaká data, musíte je přiřadit 0. Chybějící data nelze přeskočit, protože pořadí časových dat v řetězci neodpovídá změna. Je třeba také poznamenat, že měsíc červenec je zde označen jako 6, a ne jako 7. Je to proto, že odpočítávání nezačíná od 1, ale od 0. Více o tom v další části.

Načítání dat pomocí get

Vzhledem k datu můžete přistupovat ke všem jeho součástem pomocí různých vestavěných metod. Metody vracejí každou část data vzhledem k místnímu časovému pásmu. Každá z těchto metod začíná get a vrací relativní číslo. Níže je podrobná tabulka metod get pro objekt Date.

Čas schůzky Metoda Rozsah Příklad
Rok getFullYear() YYYY 1970
Měsíc getMonth() 0-11 0 = leden
den v měsíci getDate() 1-31 1 = 1. den v měsíci
Den v týdnu getDay() 0-6 0 = neděle
Hodina getHours() 0-23 0 = půlnoc
Minuta getMinutes() 0-59
Druhý getSeconds() 0-59
Milisekunda getMilliseconds() 0-999
Časové razítko getTime()

// Inicializuje novou narozeninovou instanci
const narozeniny = new Date(1980, 6, 31);

Nyní můžete použít všechny metody k extrahování každé komponenty data.

narozeniny.getFullYear(); // 1980
narozeniny.getMonth(); // 6
narozeniny.getDate(); // 31
narozeniny.getDay(); // 4
narozeniny.getHours(); // 0
narozeniny.getMinutes(); // 0
narozeniny.getSeconds(); // 0
narozeniny.getMilliseconds(); // 0
narozeniny.getTime(); // 333849600000 (pro GMT)

Někdy potřebujete extrahovat pouze část data a vestavěné metody get vám s tím pomohou.

Můžete například porovnat aktuální datum s datem 3. října a zjistit, zda je 3. října nebo ne.

// Získejte dnešní datum
const today = new Date();
// Srovnejte dnešek s 3. říjnem
if (today.getDate() === 3 && today.getMonth() === 9) (
console.log("Je 3. října.");
) jinak (
console.log("Není 3. října.");
}
Není 3. října.

Vestavěné metody get umožňují přístup ke komponentám data.

Změna data pomocí setu

Pro všechny výše uvedené metody get existuje odpovídající metoda set. Pokud se get používá k načtení konkrétní komponenty data, použije se sada k úpravě těchto komponent. Níže je podrobná tabulka metod nastavení pro objekt Date.

Čas schůzky Metoda Rozsah Příklad
Rok setFullYear() YYYY 1970
Měsíc setMonth() 0-11 0 = leden
den v měsíci setDate() 1-31 1 = 1. den v měsíci
Den v týdnu setDay() 0-6 0 = neděle
Hodina setHours() 0-23 0 = půlnoc
Minuta setMinutes() 0-59
Druhý setSeconds() 0-59
Milisekunda setMilliseconds() 0-999
Časové razítko setTime() Počet milisekund od času nula

Tyto metody sady lze použít ke změně jedné nebo více komponent data. Můžete například změnit rok v proměnné narozeniny na 1997.

// Změna roku data narození
narozeniny.setFullYear(1997);
narozeniny;
Čt 31. července 1997 00:00:00 GMT+0000 (UTC)

Nyní, když zavoláte proměnnou narozeniny, neuvidíte rok 1980, ale 1997.

Vestavěné metody sady umožňují měnit různé části objektu Date.

Metody UTC

Výše popsané metody get načítají komponenty data na základě místní nastaveníčasové pásmo uživatele. Chcete-li zvýšit kontrolu nad daty a časy, můžete použít metody getUTC, které fungují stejně jako metody get, ale počítají časy na základě UTC (Coordinated Universal Time). Níže je tabulka metod UTC pro objekt Date v JavaScriptu.

Čas schůzky Metoda Rozsah Příklad
Rok getUTCFullYear() YYYY 1970
Měsíc getUTCMonth() 0-11 0 = leden
den v měsíci getUTCDate() 1-31 1 = 1. den v měsíci
Den v týdnu getUTCDay() 0-6 0 = neděle
Hodina getUTCHours() 0-23 0 = půlnoc
Minuta getUTCMinutes() 0-59
Druhý getUTCSeconds() 0-59
Milisekunda getUTCMilliseconds() 0-999

Chcete-li otestovat rozdíl mezi místními metodami get a metodami get UTC, spusťte následující kód.

// Přiřazení aktuálního času proměnné
const now = new Date();
// Tisk místního časového pásma a časového pásma UTC
console.log(now.getHours());
console.log(now.getUTCHours());

Tento kód zobrazí aktuální čas a časové pásmo UTC. Pokud se aktuálně nacházíte v časovém pásmu UTC, budou čísla, která program vydá, stejná.

UTC poskytuje mezinárodní časový standard, a proto může v případě potřeby ve vašem programu podporovat kód odpovídající časovým pásmům.

Závěr

V tomto kurzu jste se naučili, jak vytvořit instanci objektu Date a jak používat jeho vestavěné metody k přístupu a úpravě komponent určitého data. Další informace o čase a datu naleznete v JavaScriptu na Mozilla Developer Network.

Znalost práce s daty je důležitá pro mnoho běžných úloh JavaScriptu, od vytváření pravidelných sestav až po zobrazování dat a plánů ve správném časovém pásmu.

Štítky:

Další užitečnou věcí pro weby je vkládání aktuálního data. Na internetu lze najít desítky příkladů datových skriptů, ale řada z nich je podle mého názoru těžkopádná, a tudíž nevzhledná. Mezitím pomocí standardní prostředky JavaScript, můžete vložit datum do webové stránky velmi jednoduše. Používám to velmi často! Na obrázku (screenshot z aktuálního webu) panství Skazka!

Zde je celý datový skript:

Podle mého názoru to nemůže být jednodušší, docela krásné a srozumitelné. Pokud nechcete studovat konstrukci tohoto skriptu, jednoduše jej vložte kamkoli na stránku HTML a získáte následující nápis:

Další pokročilejší možnost

//
// ]]>
// ]]>
// ]]>
// ]]>
// ]]>
! Dnes
// + " " + d.getFullYear() + " g.");
// ]]>
// ]]>
// ]]>
// ]]>
// ]]>
// ]]>

Vypadá to takto:

Dnes

Obecně nejsou vyžadovány žádné dovednosti, stačí hloupě vložit kód a vše je v pořádku!

Více informací:

Začneme tedy přiřazením hodnoty data do proměnné d, poté vytvoříme pole (Array) pro dny v týdnu (den) a měsíce (měsíc), uvedeme je v potřebné gramatické formě: případ, číslo, velké písmeno, pokud slovo se objeví na začátku data atd. .P. Poslední řádek skriptu je tisk skutečného data (document.write). Zde nastavíte, co a v jakém pořadí budete zobrazovat v aktuální datové řadě. Komponenty jsou od sebe odděleny znaménkem +. Pro zadání mezery použijte konstrukci " " a pro zadání písmene g (rok) použijte konstrukci " g ".

Jak můžete vidět ze skriptu, získávání dat o aktuálním čase provádí prvek get. Tato metoda umožňuje získat následující informace:

  • getDate() - vrací číslo od 1 do 31 představující den v měsíci;
  • getDay() - vrací den v týdnu jako celé číslo od 0 (neděle) do 6 (sobota);
  • getMonth() - vrací číslo měsíce v roce;
  • getFullYear() - vrátí rok. Pokud jednoduše použijete getYear() , zobrazí se aktuální rok mínus 1900;
  • get Hours() - vrátí hodinu dne;
  • getMinutes() - vrací minuty jako číslo od 0 do 59;
  • getSeconds() - vrací počet sekund od 0 do 59.

Ne vždy je vhodné vkládat Java skript přímo do webové stránky. Popis skriptu je lepší umístit na začátek stránky mezi značky a nastavit proměnnou, kterou budeme volat podle potřeby v textu. Říkejme tomu DNES a definujme v něm formulář výstupu data podobný výše uvedenému. Skript bude vypadat takto:


Chcete-li zobrazit datum, zavolejte skript na požadované místo v kódu HTML stránky pomocí následujícího příkazu:


dokument.zapis(DNES);

Pokud váš web obsahuje mnoho stránek, na kterých potřebujete zobrazit datum, je výhodnější oddělit Java skript pro zobrazení data do samostatného souboru, například data.js. V praxi se jedná o stránku složenou z prvního z popsaných skriptů, tedy s řádkem document.write (viz výše). Musí být umístěn ve stejném adresáři jako hlavní stránka a musí být volán v místě, kde se zobrazuje datum takto:


Nezapomeňte zkontrolovat, že soubor data.js má stejné kódování jako hlavní dokument, jinak se datum zobrazí s nádhernými háčky, čtverečky a dalšími triky.

Komentář. Je třeba mít na paměti, že popsaný skript zobrazuje datum nastavené na počítači uživatele, které ne vždy odpovídá skutečnému aktuálnímu času. Pokud potřebujete zobrazit přesný čas, musíte použít PHP skript, který ukáže čas na serveru.

Pomocí new Date() vytvořte nový objekt Date obsahující aktuální datum a čas.

Všimněte si, že Datum() volané bez argumentů je ekvivalentní nové datum(Date.now()) .

Jakmile máte objekt data, můžete použít kteroukoli z několika dostupných metod k načtení jeho vlastností (například getFullYear() pro získání 4místného roku).

Níže jsou uvedeny některé běžné metody data.

Získat aktuální rok var year = (new Date()).getFullYear(); console.log(rok); // Ukázkový výstup: 2016 Získání aktuálního měsíce var month = (new Date()).getMonth(); console.log(měsíc); // Ukázkový výstup: 0

Všimněte si, že 0 = leden. Je to proto, že měsíce se liší od 0 před 11 , takže je často žádoucí přidat k indexu +1.

Získat aktuální den var day = (new Date()).getDate(); console.log(den); // Ukázkový výstup: 31 Získání aktuální hodiny var hours = (new Date()).getHours(); console.log(hodiny); // Ukázkový výstup: 10 Získání aktuálních minut var minutes = (new Date()).getMinutes(); console.log(minuty); // Ukázkový výstup: 39 Získání aktuálních sekund var sekund = (new Date()).getSeconds(); console.log(sekunda); // Ukázkový výstup: 48 Získání aktuálních milisekund

Chcete-li získat milisekundy (od 0 do 999) instance objektu Date, použijte metodu getMilliseconds.

Var milisekundy = (new Date()).getMilliseconds(); console.log(milisekundy); // Výstup: milisekundy právě teď

Převod aktuálního času a data na lidsky čitelný řetězec var now = new Date(); // převod data na řetězec ve formátu časového pásma UTC: console.log(now.toUTCString()); // Výstup: Středa, 21. června 2017 09:13:01 GMT

Statická metoda Date.now() vrací počet milisekund, které uplynuly od 1. ledna 1970, 00:00:00 UTC. Chcete-li získat počet milisekund, které od té doby uplynuly pomocí instance objektu Date, použijte její metodu getTime.

// získání milisekund pomocí statické metody now of Date console.log(Date.now()); // získání milisekund pomocí metody getTime of Date instance console.log((new Date()).getTime());

Ahoj všichni!
Často musím pracovat se statistickými daty a hodně z nich je svázáno s daty. Kromě toho lze stejné datum použít na stránce v různých formátech (například ve formátu vhodném pro stroje a ve formátu vhodném pro člověka). Myslím, že většina z vás dobře zná všechen ten příšerný kód, který pochází z používání objektu Date.
Chcete-li například získat aktuální datum ve formátu DD.MM.RRRR, musíme provést následující:
var d = new Date(), fd = d.getDate() + "." + (d.getMonth()+1) + "." + d.getFullYear();
A kdy se takové linky stanou četnými? Je snadné si zapamatovat, že v JavaScriptu začíná měsíc od nuly, když se vyvíjíte nejen v něm? Nebo skutečnost, že jsou zde milisekundy, a ne sekundy, jako téměř všude jinde na backendu? Některé problémy můžete vyřešit pomocí oblíbené knihovny Moment.js, která ale funguje velmi pomalu.
Dotyčná knihovna tyto problémy řeší.
Pokud vás to zajímá, doporučuji přečíst si tuto krátkou recenzi.

TempusJS se skládá z velkého množství syntaktického cukru v objektu Date, takže je velmi rychlý. Syntaxe samotné knihovny je velmi jednoduchá. Předchozí příklad můžete napsat například takto:
var fd = tempus().format("%d.%m.%Y");
Nyní o rychlosti. Ve spoileru můžete vidět srovnání Tempus s Momentem a nativní způsob formátování data (viz výše):

Porovnání nativních JS, MomentJS a TempusJS

Získejte aktuální datum Nativní JS x 2 175 575 ops/s ±0,75 % (vzorkováno 96 běhů) Moment x 284 864 ops/s ± 0,85 % (vzorkováno 96 běhů) Tempus x 2 086 081 ops/s ± 0,73 % Nformátování (97 vzorkování běhů) x 1 637 517 ops/s ± 0,61 % (vzorkováno 100 běhů) Moment x 8 808 ops/s ± 1,07 % (vzorkováno 100 běhů) Tempus x 942 815 ops/s ± 0,68 % (vzorkováno 94 běhů) Automatická detekce data J16 a analýza 204 N31 ops/s ±0,81 % (88 vzorkovaných běhů) Okamžik x 38 511 ops/s ±1,41 % (vzorkováno 95 běhů) Tempus x 93 973 ops/s ±1,06 % (85 vzorkovaných běhů) Formát analýzy data Moment x 46 293 ops.6 3 s % (vzorkováno 100 běhů) Tempus x 109 947 ops/s ±0,93 % (vzorkováno 99 běhů) Okamžik analýzy a ověření x 44 588 operací/s ± 1,09 % (vzorkováno 90 běhů) Tempus x 103 439 ops/s ± 0,90 % )
Výsledky byly získány na mém notebooku v Google Chrome 30.0.1599.114. V jiných prohlížečích se výsledky liší, ale poměr zůstává přibližně stejný.
K testům byla použita knihovna benchmark.js
Benchmarky pro další funkce, můžete vidět.

Výhody této knihovny lze tedy napsat následovně:

  • Podporuje IE6+, Chrome, Firefox, Opera;
  • Podporuje volací řetězce;
  • Měsíce mohou začínat 1 (výchozí) spíše než nulou;
  • Milisekundy lze zakázat (výchozí) nebo povolit;
  • Rychlý provoz (jelikož se v mnoha případech používá nativní objekt Date prohlížeče, jehož implementace je napsána v rychlejších jazycích);
  • Podporuje vlastní formáty a pluginy
  • Ověření data je velmi rychlé a závisí pouze na funkcích, které datum nastavují (protože ověření probíhá při zadávání hodnot a nepočítá se samostatně);
  • Vícejazyčnost a automatická detekce jazyka uživatele.

Zde budeme hovořit pouze o některých funkcích.

Formátování a analýza

Nejprve tedy další příklad formátování data. Zde také využíváme řetězení hovorů. Na konci každého nastavení hodnoty získáme zpět objekt TempusDate, který můžeme použít dále v řetězci. Příklad:
tempus(). // získání nového data calc((měsíc: -1)). // zmenšení o jeden měsíc format("%d.%m.%Y"); // Výstup jako řetězec
Dostaneme tedy stejný den, hodinu a sekundu, ale před měsícem. To může být užitečné pro získání přehledů za poslední měsíc.

Dalším příkladem je analýza data.
// Vrátí objekt TempusDate s datem "2013-11-18" tempus("18/11/2013"); // Vrátí objekt TempusDate s datem "2013-12-12" tempus("2013-12-12", "%Y-%m-%d"));
Tempus dokáže automaticky detekovat některé známé formáty. Můžete také zadat konkrétní formát, pak bude analýza rychlejší. Navíc můžete nastavit datum, které bude vráceno, pokud se analýza nezdaří:
// Protože "123" neodpovídá formátu "%d.%m.%Y", pak // objekt obsahující datum 2013-01-01 tempus("123", "%d.%m.%Y", tempus bude vráceno ());
Lze zobrazit seznam výchozích formátů

Nyní změňme formát již naformátovaného data
// "2013-11-05" tempus("05.11.2013").format("%Y-%m-%d"); // Nebo takto // "Říjen, 12" tempus("2013-10-12 12:31:01", "%Y-%m-%d %H:%M:%S").format(" % B, %d");

Pro formátování můžete také použít lokalizaci. Ve výchozím nastavení bude vybrán jazyk uživatele (převzat z prohlížeče) nebo výchozí jazyk, pokud se jazyk uživatele nenajde mezi dostupnými jazyky Tempus.
// Nastavení jazyka tempus.lang("ru"); // Standardně používáme formát // "November, 05" tempus(1383609600).format("%B, %d");
V tuto chvíli existují pouze dva jazyky - ruština a angličtina, takže rád pomůžu.

Ověření Ověření data probíhá následovně:
// Vrátí false tempus("08/32/2013", "%d.%m.%Y").valid(); // Return true tempus("00:00 01.01.2012", "%H:%M %d.%m.%Y").valid();

V případě chyby můžete vidět pole, ve kterých k ní došlo - pokud hodnota není nepravdivá:
// Návrat ("year":-5,"month":false,"day":false,"hours":false, // "minutes":false,"seconds":false,"miliseconds":false) tempus (). rok (-5). // nastavit rok=-5, tzn. neplatné chyby(); // získat objekt s chybami

Časová období Někdy potřebujeme získat počet let (například věk), měsíce, dny atd. mezi dvěma daty. K tomu můžeme použít metodu mezi, která najde rozdíl mezi dvěma daty a vrátí jej v požadovaném formátu („rok“, „měsíc“, „den“, „hodiny“, „minuty“, „sekundy“, "milisekundy").
Zde je jednoduchý příklad získání počtu měsíců mezi 1. listopadem 2013 a 5. květnem 2014:
// Vrátí 6 tempus().mezi(tempus(), "měsíc");
Nebo kolik hodin zbývá do nového roku
tempus().mezi(tempus(), "hodiny");
V posledním příkladu si všimnete, že jsem uvedl pouze rok. Při nastavování hodnoty polem nebo objektem budou chybějící hodnoty
naplněné minimem Seznam konstant s minimálními hodnotami můžete vidět v dokumentaci.

Také můžeme změnit libovolné datum pomocí funkce calc:
// Návrat TempusDate s datem 2012-01-01 tempus().calc((rok: 1, měsíc: -4, den: -1));

Vlastní formáty Pro měsíc používáme vlastní formát, který může nabývat hodnot od 1 do 12 (nikoli 01 až 12):
// Registrace nového formátu tempus.registerFormat("%q", // direktiva - %q function(date) ( // Zde uvádíme funkci formátování, tj. co bude nahrazeno %q return date.month(); ), funkce (hodnota) ( ​​ // A zde je funkce analýzy var v = Číslo(hodnota); return (měsíc: (isNaN(v) ? nedefinováno: v)); ), 1, // Minimální délka že hodnota 2 může mít , // Maximální délka "číslo" // Typ); // Test // Return "01.1.2013"; tempus((rok: 2013, měsíc: 1, den: 1)).format("%d.%q.%Y"); // Return ("year":2013,"month":2,"day":10,"hours":0,"minutes":0,"seconds":0); tempus("10.2.2013", "%d.%q.%Y").get();
Během registrace si můžete všimnout, že některé parametry jsou specifikovány samostatně, přičemž lze použít regulární výraz. Ve skutečnosti tam zpočátku byla, ale po jejím opuštění se rychlost několik desítekkrát zvýšila.
Pokud potřebujete odstranit formát, použijte unregisterFormat:
tempus.unregisterFormat("%d"); // Vrátí "%d.01.2013", protože Směrnice %d již neexistuje. tempus.format((rok: 2013, měsíc: 1, den: 1), "%d.%m.%Y"); Getters/setters Některé hodnoty můžete získat/nastavit pomocí funkcí year(), month(), day(), hours(), minutes(), seconds(), miliseconds(), dayOfWeek(), utc() , timestamp() nebo set(). Například:
tempus(). // Získání aktuálního data year(1900). // Nechte vše tak, jak je, ale nastavte rok na 1900 leapYear(); // Zkontrolujte, zda se jedná o přestupný rok, v tomto případě false tempus().year(); // A tak dostaneme aktuální rok v číselné podobě Generování dat Datum můžete vygenerovat mnoha způsoby, úplný seznam parametry jsou v dokumentaci. Zde je minimální příklad.
// vrátí ["03/29/2013", "03/30/2013", "03/31/2013", "04/01/2013", "04/02/2013"]; tempus.generate(( datumOd: "20130329", formátOd: "%Y.%m.%d", datumDo: "20130402", období: (den: 1), formát: "%d.%m.%Y" ));
To může být užitečné pro zobrazení grafů podle data a změnu formátu zobrazení přímo na klientovi, bez požadavků na backend. Datum lze generovat jako pole nebo jako objekty, kde klíčem budou samotná data (to je užitečné, když potřebujeme svázat událost s datem, například když si děláme vlastní kalendář). Také data lze seskupit podle dnů, týdnů, měsíců, hodin, let - podle čehokoli. To lze aplikovat i na kalendář Pluginy A v neposlední řadě pluginy. Zde rozšiřujeme továrnu o generování náhodného data. Také potřebujeme třídu TempusDate, lze ji nalézt v tempus.classes(). Zde je příklad pluginu:
(funkce (tempus) ( var TempusDate = tempus.classes("TempusDate"); tempus.randomDate = function() ( var date = new TempusDate(); date.year(Math.floor((Math.random()*( tempus.MAX_YEAR - tempus.MIN_YEAR)) + tempus.MIN_YEAR)).měsíc(Math.podlaží((Math.random()*(tempus.MAX_MONTH - tempus.MIN_MONTH)) + tempus.MIN_MONTH)).den(Math. patro((Math.random()*(date.dayCount() - tempus.MIN_DAY)) + tempus.MIN_DAY)).hours(Math.floor((Math.random()*(tempus.MAX_HOURS - tempus.MIN_HOURS)) ) + tempus.MIN_HOURS)).minuty(Math.floor((Math.random()*(tempus.MAX_MINUTES - tempus.MIN_MINUTES)) + tempus.MIN_MINUTES)).seconds(Math.floor((Math.random()) *(tempus.MAX_SECONDS - tempus.MIN_SECONDS)) + tempus.MIN_SECONDS)); datum návratu; ); ))(tempus); // Nyní můžeme vytvořit podobná data var someRandomDate = tempus.randomDate();
Myslím, že tímto způsobem bude možné pohodlně psát widgety pomocí kombinace jQuery+Tempus, Angular+Tempus atd. Zdroje Instalovat si je můžete stažením zdrojů z GitHubu:
https://github.com/crusat/tempus-js/releases
Nebo přes altánek:
$ bower nainstalovat tempus
Potřebujete pouze jeden soubor - tempus.js nebo tempus.min.js.

Doufám, že tato knihovna bude užitečná a také by bylo zajímavé zjistit, co v ní chybí, aby se knihovna dále rozvíjela správným směrem. Děkuji za pozornost!
P.S. Děkuji za pozvání!



Související články: