Ora curentă Javascript în milisecunde. JavaScript Obțineți ora și data curente

Obiectul Date vă permite să lucrați cu date și ore. Următoarea sintaxă este utilizată pentru a crea un nou obiect Date:

Data nouă ()

Stochează datele ca număr de milisecunde de la miezul nopții, 1 ianuarie 1970, conform orei universale (UTC). Cu acest format, Data poate reprezenta cu exactitate date care sunt 285616 ani de la 1 ianuarie 1970.

Dacă constructorul Date este apelat fără argumente, este creat un obiect cu valorile curente de dată și oră. Pentru a crea un obiect Date cu o anumită dată sau oră, va trebui să treceți unul dintre cei patru parametri posibili:

  • milisecunde: valoarea trebuie să fie numărul de milisecunde de la 01.01.1970 var birthDate = new Date (8298400000); document.write (birthDate);
  • șir de date: orice dată în formatul suportat de metoda parse () var birthDate = new Date ("16 aprilie 1975"); document.write (birthDate);
  • year, month, day var birthDate = new Date (1975, 4, 28); document.write (birthDate);

    Vă rugăm să rețineți că numărul 4 corespunde lunii mai. Aceasta înseamnă că numărul 0 corespunde lunii ianuarie Zilele sunt calculate în același mod, doar zero în acest caz corespunde duminicii.

  • an, lună, zi, oră, minute, secunde, milisecunde

Când lucrați cu un obiect Data, este important să rețineți că calculele sunt efectuate utilizând Ora universală coordonată (UTC), chiar dacă computerul poate afișa ora în funcție de fusul orar.

Metode

MetodăDescriere
getDate ()Returnează ziua lunii (de la 1 la 31) pentru data specificată, ora locală.
getDay ()Returnează ziua săptămânii (de la 0 la 6; 0 = duminică, 1 = luni etc.) pentru data specificată, ora locală.
getFullYear ()Returnează anul (patru cifre).
getHours ()Returnează ora (de la 0 la 23).
getMilisecunde ()Returnează milisecunde (de la 0 la 999).
getMinutes ()Returnează minute (de la 0 la 59).
getMonth ()Returnează luna (de la 0 la 11; 0 = ianuarie, 1 = februarie etc.).
getSeconds ()Returnează secundele (de la 0 la 59).
Fă-ți timp ()Returnează numărul de milisecunde de la miezul nopții 01/01/1970.
getTimezoneOffset ()Returnează diferența de timp dintre UTC și ora locală, în minute.
getUTCDate ()Returnează ziua lunii, UTC (de la 1 la 31).
getUTCDay ()Returnează ziua săptămânii conform orei universale (de la 0 la 6).
getUTCFullYear ()Returnează anul UTC (patru cifre).
getUTCHours ()Returnează ora UTC (de la 0 la 23).
getUTCMilisecunde ()Returnează milisecunde UTC (de la 0 la 999).
getUTCMinutes ()Returnează minutele în UTC (de la 0 la 59).
getUTCMonth ()Returnează luna în UTC (de la 0 la 11).
getUTCSeconds ()Returnează secundele în UTC (de la 0 la 59).
analiza ()Analizează un șir de dată (de exemplu, „21 mai 1992”) și returnează un șir de dată care conține numărul în milisecunde începând cu 1 ianuarie 1970 00:00:00.
Seteaza data ()Setează ziua lunii pentru data specificată, ora locală (de la 1 la 31).
setFullYear ()Setează anul (patru cifre).
setHours ()Setează ceasul pentru data specificată în funcție de ora locală (de la 0 la 23).
setMilisecunde ()Setează milisecundele pentru data specificată, ora locală.
setMinutes ()Setează minutele (de la 0 la 59).
setMonth ()Setează luna (de la 0 la 11).
setSeconds ()Setează secundele (de la 0 la 59).
regleaza ora ()Setează data în milisecunde după (sau înainte) 01/01/1970.
setUTCDate ()Specifică ziua lunii.
setUTCFullYear ()Setează anul în funcție de ora universală (patru cifre).
setUTCHours ()Setează ora pentru data specificată, UTC.
setUTCMilisecunde ()Setează milisecundele pentru data specificată, UTC.
setUTCMinute ()Setează minutele pentru data specificată, UTC.
setUTCLună ()Setează luna pentru data specificată, UTC.
setUTCSecunde ()Setează secundele pentru data specificată, UTC.
toDateString ()
toISOString ()Convertește o dată într-un șir folosind standardul ISO 8601.
la JSON ()Returnează data ca șir, formatată ca dată JSON.
toLocaleDateString ()
toLocaleTimeString ()Returnează partea datei ca șir, cu o reprezentare a datei pe baza parametrilor sistemului.
toLocaleString ()Returnează data ca șir, cu o reprezentare a datei pe baza parametrilor sistemului.
toString ()Returnează un șir reprezentând obiectul Date specificat.
toTimeString ()Returnează o parte a datei ca șir.
toUTCString ()Convertește o dată într-un șir folosind fusul orar UTC.
UTC ()Preia aceiași parametri ca și forma lungă a constructorului (adică 2-7) și returnează numărul de milisecunde de la 1 ianuarie 1970, 00:00:00 UTC.
valoarea ()Returnează valoarea primitivă a unui obiect Date.

Data și ora fac parte din a noastră Viata de zi cu ziși, prin urmare, ocupă un loc proeminent în programare. În JavaScript, atunci când construiți un site web, este posibil să doriți să adăugați un calendar, un program de tren sau o interfață pentru programarea întâlnirilor. Aceste aplicații trebuie să afișeze punctele de timp adecvate pe baza fusului orar curent al utilizatorului sau să efectueze calcule legate de sosirea și plecarea unei aeronave sau orele de început și de sfârșit ale unui eveniment. De asemenea, poate fi necesar să utilizați JavaScript pentru a trimite rapoarte zilnice către anumit timp sau pentru filtrare (de exemplu, pentru a căuta restaurante deschise la o anumită oră).

Data obiect

Data este în linie obiect JavaScript care stochează data și ora. Acesta oferă o serie de metode încorporate pentru formatarea și manipularea acestor date.

În mod implicit, o nouă instanță Date fără argumente creează un obiect cu data și ora curente în conformitate cu setarile sistemului calculatorul actual.

De exemplu, încercați să atribuiți data curentă unei variabile. Creați un fișier acum.js.

// Setați variabila la data și ora curente
const now = data noua ();
// Vizualizați rezultatul
acum;
Miercuri, 18 octombrie 2017 12:41:34 GMT + 0000 (UTC)

Ieșirea este un șir cu o dată care conține următoarele date:

Data și ora sunt împărțite și afișate într-un mod ușor de citit.

Cu toate acestea, JavaScript interpretează o dată în termeni de un marcaj temporal Unix, care este o valoare constând din numărul de milisecunde de la miezul nopții de 1 ianuarie 1970. Puteți obține marcajul de timp folosind metoda getTime ().

// Obțineți marcajul de timp actual
now.getTime ();
1508330494000

Numărul mare care apare în rezultat ca marcaj temporal actual reprezintă numărul de milisecunde care au trecut de la 1 ianuarie 1970 la miezul nopții până la 18 octombrie 2017.

Ora zero (sau ora epocii) este reprezentată de șirul de date 01 ianuarie 1970 00:00:00 Ora universală (UTC) și marcajul de timp 0. Puteți testa acest lucru în browser creând o nouă variabilă în fișierul epoch.js și atribuirea unei noi instanțe de Date pe baza ștampilei de timp 0.

// Atribuiți marca temporală 0 unei variabile noi
const epochTime = data noua (0);
epochTime;
01 ianuarie 1970 00:00:00 Ora universală (UTC)

Timpul zero a fost ales ca standard pentru măsurarea timpului de către computere, iar această metodă este folosită în JavaScript. Este important să înțelegeți marcajele de timp și șirurile de date, deoarece aceste concepte pot fi utilizate în funcție de setările și scopul aplicației.

Acum știți cum să creați o nouă instanță Date pe baza orei curente și pe baza unui marcaj de timp. Există un total de patru formate de dată în JavaScript. Pe lângă ora și marca temporală curente implicite, puteți utiliza și un șir de dată sau puteți specifica o anumită dată și oră.

A demonstra căi diferite făcând referire la o anumită dată, încercați să creați noi obiecte Date care reprezintă 4 iulie 1776, 12:30 GMT în trei moduri diferite.

// Metoda timestamp
nou Data (-6106015800000);
// Metoda șirului de date
data noua („31 ianuarie 1980 12:30”);
// Metoda datei și orei
nou Data (1776, 6, 4, 12, 30, 0, 0);

Toate aceste exemple prezintă aceleași informații despre dată și oră în trei moduri diferite.

După cum puteți vedea, metoda timestamp are un număr negativ; orice dată înainte de ora zero va fi reprezentată ca un număr negativ.

În al treilea exemplu, secundele și milisecundele sunt reprezentate de 0. Dacă vă lipsesc date când creați obiectul Date, ar trebui să le setați la 0. Datele lipsă nu pot fi sărite deoarece ordinea datelor de timp din șir nu Schimbare. De asemenea, trebuie menționat că luna iulie este desemnată aici ca 6, nu ca 7. Acest lucru se datorează faptului că numărătoarea inversă nu începe de la 1, ci de la 0. Mai multe despre asta în secțiunea următoare.

Recuperarea unei date folosind get

Odată ce aveți o dată, puteți accesa toate componentele sale folosind diferite metode încorporate. Metodele returnează fiecare parte a datei în raport cu fusul orar local. Fiecare dintre aceste metode începe cu get și returnează un număr relativ. Mai jos este un tabel detaliat cu metode get pentru obiectul Date.

Data Ora Metodă Gamă Exemplu
An getFullYear () YYYY 1970
Lună getMonth () 0-11 0 = ianuarie
Ziua lunii getDate () 1-31 1 = 1 a lunii
Zi a săptămânii getDay () 0-6 0 = duminica
Ora getHours () 0-23 0 = miezul nopții
Minut getMinutes () 0-59
Al doilea getSeconds () 0-59
Milisecundă getMilisecunde () 0-999
Timestamp-ul Fă-ți timp ()

// Inițializați o nouă instanță de naștere
const ziua de nastere = data noua (1980, 6, 31);

Toate metodele pot fi acum folosite pentru a prelua fiecare componentă a datei.

ziua de naștere.getFullYear (); // 1980
ziua de naștere.getMonth (); // 6
ziua de naștere.getDate (); // 31
ziua de naștere.getDay (); // 4
ziua de naștere.getHours (); // 0
ziua de naștere.getMinutes (); // 0
ziua de naștere.getSeconds (); // 0
ziua de naștere.getMilliseconds (); // 0
ziua de naștere.getTime (); // 333849600000 (pentru GMT)

Uneori trebuie să regăsiți doar o parte a unei date, iar metodele de obținere încorporate vă vor ajuta în acest sens.

De exemplu, puteți compara data curentă cu data de 3 octombrie pentru a afla dacă este sau nu 3 octombrie.

// Obțineți data de azi
const today = data noua ();
// Comparați astăzi cu 3 octombrie
dacă (azi.getDate () === 3 && today.getMonth () === 9) (
console.log ("Este 3 octombrie. ");
) altfel (
console.log ("Nu este 3 octombrie.");
}
Nu este 3 octombrie.

Metodele de obținere încorporate vă permit să accesați componentele date.

Schimbarea datei cu set

Toate getterele de mai sus au un setter corespunzător. Dacă get este folosit pentru a prelua o anumită componentă a unei date, set este folosit pentru a modifica acele componente. Mai jos este un tabel detaliat al metodelor setate pentru obiectul Date.

Data Ora Metodă Gamă Exemplu
An setFullYear () YYYY 1970
Lună setMonth () 0-11 0 = ianuarie
Ziua lunii Seteaza data () 1-31 1 = 1 a lunii
Zi a săptămânii setDay () 0-6 0 = duminica
Ora setHours () 0-23 0 = miezul nopții
Minut setMinutes () 0-59
Al doilea setSeconds () 0-59
Milisecundă setMilisecunde () 0-999
Timestamp-ul regleaza ora () Numărul de milisecunde de la ora zero

Acești setari pot fi utilizați pentru a schimba una sau mai multe componente de dată. De exemplu, puteți modifica anul din variabila ziua de naștere în 1997.

// Schimbați anul zilei de naștere
ziua de naștere.setFullYear (1997);
zi de nastere;
Joi, 31 iulie 1997 00:00:00 GMT + 0000 (UTC)

Acum, când apelați variabila ziua de naștere, vedeți nu 1980, ci 1997.

Metodele de setare încorporate vă permit să modificați diferite părți ale obiectului Date.

metode UTC

Metodele get de mai sus regăsesc componente de dată pe baza setari locale fusul orar al utilizatorului. Pentru a crește controlul asupra datelor și orelor, puteți utiliza metodele getUTC, care funcționează la fel ca metodele get, dar calculează ora pe baza UTC (ora universală). Mai jos este un tabel cu metode UTC pentru obiectul Date în JavaScript.

Data Ora Metodă Gamă Exemplu
An getUTCFullYear () YYYY 1970
Lună getUTCMonth () 0-11 0 = ianuarie
Ziua lunii getUTCDate () 1-31 1 = 1 a lunii
Zi a săptămânii getUTCDay () 0-6 0 = duminica
Ora getUTCHours () 0-23 0 = miezul nopții
Minut getUTCMinutes () 0-59
Al doilea getUTCSeconds () 0-59
Milisecundă getUTCMilisecunde () 0-999

Pentru a verifica diferența dintre getters locali și UTC, rulați următorul cod.

// Atribuiți ora curentă unei variabile
const now = data noua ();
// Imprimați fusurile orare locale și UTC
console.log (now.getHours ());
console.log (now.getUTCHours ());

Acest cod va imprima ora și ora curente în fusul orar UTC. Dacă în prezent vă aflați în fusul orar UTC, atunci numerele pe care le va afișa programul vor fi aceleași.

UTC oferă un standard de timp internațional și, prin urmare, poate păstra codul în concordanță cu fusurile orare, dacă este necesar în programul dvs.

Concluzie

În acest tutorial, ați învățat cum să instanțiați un obiect Date, cum să utilizați metodele sale încorporate pentru a accesa și modifica componentele unei date specifice. Puteți găsi mai multe informații despre oră și dată în JavaScript din Mozilla Developer Network.

A ști cum să lucrezi cu datele este important pentru multe sarcini comune în JavaScript, de la crearea de rapoarte regulate până la afișarea datelor și a programelor în fusul orar corect.

Etichete:

Utilizați data nouă () pentru a crea un nou obiect Date care conține data și ora curente.

Rețineți că Data () apelabil fără argumente, este echivalent cu noua data (Date.now ()) .

Odată ce aveți un obiect dată, puteți utiliza oricare dintre mai multe metode disponibile pentru a-i prelua proprietățile (de exemplu, getFullYear () pentru a obține un an de 4 cifre).

Mai jos sunt câteva metode comune de dată.

Obțineți anul curent

var year = (data noua ()). getFullYear (); console.log (an); // Exemplu de rezultate: 2016

Obțineți luna curentă

var luna = (data noua ()). getMonth (); console.log (lună); // Ieșire eșantion: 0

Rețineți că 0 = ianuarie. Acest lucru se datorează faptului că lunile variază de la 0 inainte de 11 deci este adesea de dorit să adăugați +1 la index.

Obțineți ziua curentă

var zi = (data noua ()). getDate (); console.log (zi); // Ieșire eșantion: 31

Obțineți ora curentă

var ore = (data noua ()).getHours (); console.log (ore); // Ieșire eșantion: 10

Obțineți minutele curente

var minute = (data noua ()). getMinutes (); console.log (minute); // Ieșire eșantion: 39

Obțineți secundele curente

var secunde = (data noua ()). getSeconds (); console.log (al doilea); // Ieșire eșantion: 48

Obțineți milisecundele curente

Pentru a obține milisecunde (de la 0 la 999) unei instanțe a unui obiect Date, utilizați metoda getMilliseconds.

Var milisecunde = (nouă dată ()).GetMilliseconds (); console.log (milisecunde); // Ieșire: milisecunde chiar acum

Convertiți ora și data curente într-un șir care poate fi citit de om

var acum = data noua (); // convertiți data într-un șir în format de fus orar UTC: console.log (now.toUTCString ()); // Ieșire: miercuri, 21 iunie 2017 09:13:01 GMT

Metoda statică Date.now () returnează numărul de milisecunde de la 1 ianuarie 1970 00:00:00 UTC. Pentru a obține numărul de milisecunde de la acel moment folosind o instanță de obiect Date, utilizați metoda getTime.

// obține milisecunde folosind metoda statică acum a Date console.log (Date.now ()); // obține milisecunde folosind metoda getTime of Date instanță console.log ((new Date ()). getTime ());

Bună ziua tuturor!
De multe ori trebuie să lucrez cu date statistice și sunt multe legate de date. În plus, aceeași dată poate fi folosită pe o pagină în formate diferite (de exemplu, într-un mod convenabil pentru o mașină și într-un convenabil pentru o persoană). Cred că majoritatea dintre voi sunteți perfect conștienți de tot acest cod înfiorător care vine cu utilizarea unui obiect Date.
De exemplu, pentru a obține data curentă în formatul ZZ.LL.AAAA, trebuie să facem următoarele:
var d = data noua (), fd = d.getDate () + "." + (d.getMonth () + 1) + "." + d.getFullYear ();
Și când există multe astfel de rânduri? Este ușor să-ți amintești că în javascript o lună începe de la zero atunci când te dezvolți nu numai în ea? Sau faptul că există milisecunde, nu secunde, ca aproape peste tot pe backend? Puteți rezolva unele dintre problemele cu populara bibliotecă Moment.js, dar funcționează foarte lent.
Biblioteca în cauză rezolvă aceste probleme.
Dacă vă interesează, vă sugerez să citiți această mică recenzie.

TempusJS este o mulțime de zahăr sintactic pe obiectul Date, deci este foarte rapid. Sintaxa bibliotecii în sine este destul de simplă. De exemplu, puteți scrie exemplul anterior astfel:
var fd = tempus (). format ("% d.% m.% Y");
Acum despre viteza. În spoiler, puteți vedea o comparație a Tempus cu Moment și formatarea nativă a datei (vezi mai sus):

Comparație dintre JS nativ, MomentJS și TempusJS

Obținem data curentă
JS nativ x 2.175.575 operațiuni/sec ± 0,75% (96 operațiuni eșantionate) Moment x 284.864 operațiuni/sec ± 0,85% (96 operațiuni eșantionate) Tempus x 2.086.081 operațiuni/sec ± 0,73% (97 executări eșantionate)
Formatare
JS nativ x 1.637.517 operațiuni/sec ± 0,61% (100 de executări eșantionate) Moment x 8,808 operațiuni/sec ± 1,07% (100 de executări eșantionate) Tempus x 942.815 operațiuni/sec ± 0,68% (94 de executări eșantionate)
Autodetecția și analizarea datei
JS nativ x 11.204.316 operațiuni/sec ± 0,81% (88 de executări eșantionate) Moment x 38.511 operațiuni/sec ± 1,41% (95 de executări eșantionate) Tempus x 93.973 operațiuni/sec ± 1,06% (85 de executări eșantionate)
Analizarea unei date după format
Moment x 46,293 operațiuni/sec ± 0,63% (100 de executări eșantionate) Tempus x 109,947 operațiuni/sec ± 0,93% (99 de rulări eșantionate)
Analiza si validare
Moment x 44,588 operațiuni/sec ± 1,09% (90 de executări eșantionate) Tempus x 103,439 operațiuni/sec ± 0,90% (94 de executări eșantionate)
Rezultatele au fost obținute pe laptopul meu în Google Chrome 30.0.1599.114. În alte browsere, rezultatele sunt diferite, dar raportul rămâne aproximativ același.
Pentru teste a fost folosită biblioteca benchmark.js.
Benchmark-uri pentru alte caracteristici, puteți vedea.

Deci, avantajele acestei biblioteci pot fi scrise după cum urmează:

  • Suporta IE6 +, Chrome, Firefox, Opera;
  • Suporta lanțuri de apeluri;
  • Lunile pot începe cu 1 (implicit), nu cu zero;
  • Milisecundele pot fi dezactivate (implicit) sau activate;
  • Lucru rapid (Deoarece, în multe cazuri, este utilizat obiectul Date nativ al browserului, a cărui implementare este scrisă în limbi mai rapide);
  • Suportă formate personalizate și pluginuri
  • Validarea datei este foarte rapidă și depinde doar de funcțiile care stabilesc data (deoarece validarea are loc deja când valorile sunt introduse și nu se calculează separat);
  • Multilimba și detectarea automată a limbii utilizatorului.

Aici vom vorbi doar despre unele dintre funcții.

Formatarea și analizarea

Deci, pentru început, încă un exemplu de formatare a datei. De asemenea, folosim apelurile în lanț aici. La sfârșitul fiecărei setări, primim înapoi un obiect TempusDate pe care îl putem folosi mai departe în lanț. Exemplu:
tempus (). // obține noua dată calc ((lună: -1)). // scade formatul cu o lună ("% d.% m.% Y"); // Ieșire ca șir
Astfel, vom obține aceeași zi, oră și secundă, dar acum o lună. Acest lucru este util pentru a obține rapoarte pentru ultima lună.

Următorul exemplu este analizarea unei date.
// Returnează un obiect TempusDate cu data "2013-11-18" tempus ("11/18/2013"); // Returnează un obiect TempusDate cu data "2013-12-12" tempus ("2013-12-12", "% Y-% m-% d"));
Tempus poate detecta automat unele formate cunoscute. De asemenea, puteți specifica un anumit format, apoi analizarea va fi mai rapidă. În plus, puteți seta data care va fi returnată dacă analizarea eșuează:
// Pentru că „123” nu se potrivește cu formatul „% d.% M.% Y”, apoi // un obiect care conține data 2013-01-01 tempus ("123", "% d.% M.% Y", tempus ());
Lista formatelor implicite poate fi vizualizată

Acum să schimbăm formatul datei deja formatate
// "2013-11-05" tempus ("05.11.2013"). Format ("% Y-% m-% d"); // Sau cam așa // „Octombrie, 12” tempus („2013-10-12 12:31:01”, „% Y-% m-% d% H:% M:% S"). Format ("% B,% d");

De asemenea, puteți utiliza localizarea pentru formatare. În mod implicit, limba utilizatorului va fi selectată (preluată din browser) sau limba implicită dacă limba utilizatorului nu se găsește printre limbile Tempus disponibile.
// Setați limba tempus.lang ("ru"); // Implicit folosim formatul // "November 05" tempus (1383609600) .format ("% B,% d");
Pe acest moment Există doar două limbi - rusă și engleză, așa că voi fi bucuros să vă ajut.

Validare

Validarea datei este după cum urmează:
// Returnează tempus fals ("08/32/2013", "% d.% M.% Y"). Valabil (); // Returnează tempus adevărat ("00:00 01.01.2012", "% H:% M% d.% M.% Y"). Valabil ();

În cazul unei erori, puteți vedea câmpurile în care a apărut - oriunde valoarea nu este falsă:
// Returnează („an”: - 5, „lună”: fals, „ziua”: fals, „ore”: fals, // „minute”: fals, „secunde”: fals, „milisecunde”: fals) tempus (). anul (-5). // setează anul = -5, adică erori nevalide (); // obțineți obiectul cu erori

Intervalele de date

Uneori trebuie să obținem numărul de ani (de exemplu, vârsta), luni, zile etc. între două date. Pentru a face acest lucru, putem folosi metoda between, care găsește diferența dintre două date și returnează în formatul dorit ("an", "lună", "zi", "ore", "minute", "secunde", " milisecunde").
Iată un exemplu simplu de obținere a numărului de luni între 1 noiembrie 2013 și 5 mai 2014:
// Returnează 6 tempus (). Între (tempus (), „lună”);
Sau câte ore au mai rămas până la noul an
tempus ().între (tempus (), „ore”);
În ultimul exemplu, puteți vedea că am specificat doar anul. Când setați o valoare pentru o matrice sau obiect, valorile lipsă vor fi
umplut cu minim. Lista constantelor cu valori minime, puteți vedea în documentație.

De asemenea, putem schimba orice dată folosind funcția calc:
// Returnează un TempusDate cu data 2012-01-01 tempus (). Calc ((anul: 1, luna: -4, ziua: -1));

Formate personalizate

Aplicam propriul nostru format pentru luna, care poate lua valori de la 1 la 12 (nu de la 01 la 12):
// Înregistrați un nou format tempus.registerFormat ("% q", // directivă -% q funcția (data) (// Aici specificăm funcția de formatare, adică ceea ce va fi înlocuit cu% q return date.month (); ) , funcția (valoare) (// Și aici este funcția de analiză var v = Număr (valoare); return (lună: (esteNaN (v)? nedefinit: v));), 1, // Lungimea minimă pe care valoarea 2 poate lua , // Lungimea maximă „număr” // Tip); // Testare // Returnează „01.1.2013”; tempus ((anul: 2013, luna: 1, ziua: 1)). format ("% d.% q.% Y"); // Returnează („an”: 2013, „lună”: 2, „ziua”: 10, „ore”: 0, „minute”: 0, „secunde”: 0); tempus ("10.2.2013", "% d.% q.% Y"). get ();
La înregistrare, puteți observa că unii parametri sunt setați separat, în timp ce ați putea folosi expresie uzuala... De fapt, inițial a fost acolo, dar după ce a abandonat-o, viteza a crescut de câteva zeci de ori.
Dacă trebuie să eliminați un format, atunci utilizați unregisterFormat:
tempus.unregisterFormat ("% d"); // Returnează „% d.01.2013”, deoarece directiva% d nu mai exista. tempus.format ((anul: 2013, luna: 1, ziua: 1), "% d.% m.% Y");

Getters / Setters

Puteți obține/seta unele valori folosind funcțiile an (), lună (), zi (), ore (), minute (), secunde (), milisecunde (), dayOfWeek (), utc (), timestamp () sau setați (). De exemplu:
tempus (). // Obține data curentă a anului (1900). // Lăsați-l așa cum este, dar setați-l la 1900 leapYear (); // Verificați dacă este un an bisect, în acest caz fals tempus (). // Și așa obținem anul curent sub formă numerică

Generarea de date

Puteți genera o dată într-o varietate de moduri, lista plina parametrii se află în documentație. Iată un exemplu minim.
// returnează ["03/29/2013", "03/30/2013", "03/31/2013", "04/01/2013", "04/02/2013"]; tempus.generate ((dataFrom: "20130329", formatFrom: "% Y.% m.% d", dateTo: "20130402", perioada: (ziua: 1), format: "% d.% m.% Y" ));
Acest lucru poate fi util pentru afișarea diagramelor după dată și modificarea formatului de afișare direct pe client, fără a solicita backend-ului. Data poate fi generată atât ca matrice, cât și ca obiecte, unde datele în sine vor fi cheile (acest lucru este util atunci când trebuie să legăm un eveniment la o dată, de exemplu, când ne facem propriul calendar). De asemenea, datele pot fi grupate după zi, săptămână, lună, oră, an - orice. Acest lucru poate fi aplicat și calendarului.

Pluginuri

Și nu în ultimul rând, pluginuri. Aici extindem fabrica pentru a genera o dată aleatorie. Avem nevoie și de clasa TempusDate, care poate fi găsită în tempus.classes (). Iată un exemplu de plugin:
(funcție (tempus) (var TempusDate = tempus.classes ("TempusDate"); tempus.randomDate = funcție () (var data = nou TempusDate (); data.year (Math.floor ((Math.random ()) * ( tempus.MAX_YEAR - tempus.MIN_YEAR)) + tempus.MIN_YEAR)). luna (Math.floor ((Math.random () * (tempus.MAX_MONTH - tempus.MIN_MONTH)) + tempus.MIN_MONTH)). zi (Math. aleatoriu () * (tempus.MAX_MONTH - tempus.MIN_MONTH)) + tempus.MIN_MONTH)). etaj de zi ((Math.random () * (date.dayCount () - tempus.MIN_DAY)) + tempus.MIN_DAY)). ore (Math.floor ((Math.random () * (tempus.MAX_HOURS - tempus.MIN_HOURS) ) + tempus.MIN_HOURS)). minute (Math.floor ((Math.random () * (tempus.MAX_MINUTES - tempus.). MIN_MINUTES)) + tempus.MIN_MINUTES)). secunde (Math.floor ((Math.random () * (tempus.MAX_SECONDS - tempus.MIN_SECONDS)) + tempus.MIN_SECONDS)); data returnării;);)) (tempus) ; // Acum putem crea date după cum urmează var someRandomDate = tempus.randomDate ();
Cred că în acest fel va fi posibil să scrieți în mod convenabil widget-uri folosind o grămadă de jQuery + Tempus, Angular + Tempus etc.

Codurile sursă

Puteți instala descărcând sursele din github:
https://github.com/crusat/tempus-js/releases
Sau prin bower:
$ bower install tempus
Aveți nevoie de un singur fișier - tempus.js sau tempus.min.js.

Sper că această bibliotecă va fi de folos și ar fi, de asemenea, interesant de știut ce lipsește din ea pentru a dezvolta în continuare biblioteca în direcția corectă. Multumesc pentru atentie!
P.S. Multumesc pentru invitatie!

Un alt lucru util pentru site-uri web este inserarea datei curente. Există zeci de exemple de scripturi de date pe Internet, dar multe dintre ele, după părerea mea, sunt grele și, prin urmare, urâte. Între timp, folosind mijloace standard JavaScript, este foarte ușor să inserați o dată pe pagina unui site web. Il folosesc foarte des! În imagine (captură de ecran de pe site-ul curent) moșie „Basme” !

Iată întregul script al datei:

După părerea mea, nu ar putea fi mai ușor, este destul de frumos și de înțeles. Dacă nu doriți să studiați construcția acestui script, atunci lipiți-l oriunde în pagina HTML și veți obține următoarea inscripție:

O altă variantă este mai avansată


! Azi

Arata cam asa:

Azi

În general, nu sunt necesare abilități, doar introduceți prostește codul și totul este ok!

Mai multe detalii:

Deci, începem prin a atribui o valoare de dată unei variabile d, apoi creați matrice ( Matrice) pentru zilele săptămânii ( zi) și luni ( lună), indicându-le în forma gramaticală necesară: caz, număr, majusculă dacă cuvântul este la începutul unei date etc. Ultima linie a scriptului este imprimarea datei efective ( document.scrie). Aici setați ce și în ce ordine veți afișa data curentă în șir. Componentele sunt separate unele de altele prin semn + ... Pentru a intra într-un spațiu, utilizați construcția " " , iar pentru a introduce litera g (an) - construcția "G."

După cum puteți vedea din script, obținerea datelor despre ora curentă este efectuată de element obține... Această metodă oferă următoarele informații:

  • getDate ()- returnează un număr de la 1 la 31 reprezentând ziua lunii;
  • getDay ()- returnează ziua săptămânii ca număr întreg de la 0 (duminică) la 6 (sâmbătă);
  • getMonth ()- returnează numărul lunii din an;
  • getFullYear ()- întoarce anul. Pentru a utiliza simplu getYear (), atunci va fi afișat anul curent minus 1900;
  • obține ore ()- returnează ora din zi;
  • getMinutes ()- returnează minutele ca număr de la 0 la 59;
  • getSeconds ()- returnează numărul de secunde de la 0 la 59.

Lipiți direct Java-scriptul în interiorul paginii site-ului nu este întotdeauna convenabil. Mai bine puneți descrierea scriptului în partea de sus a paginii între etichete și setați o variabilă pe care o vom apela după cum este necesar în text. Să-i spunem AZIși definiți în el formularul de afișare a datei în mod similar cu cel de mai sus. Scriptul va arăta astfel:

Pentru a afișa data, apelați scriptul în locul potrivit în codul HTML al paginii folosind următoarea comandă:

Dacă site-ul dvs. conține multe pagini pe care doriți să afișați data, atunci este mai convenabil să le evidențiați Java-script pentru afișarea datei în dosar separat, de exemplu, data.js... În practică, aceasta este o pagină formată din primul dintre scripturile descrise, adică cu linia document.scrie(Vezi deasupra). Plasați-l în același director ca pagina principală și apelați-l la locul de ieșire a datei, după cum urmează:

Nu uitați să verificați că fișierul data.js avea aceeași codificare ca și documentul principal, altfel data va fi afișată cu cârlige minunate, pătrate și alte ajustări.

Cometariu. Trebuie avut în vedere că scriptul descris afișează data setată pe computerul utilizatorului, care nu corespunde întotdeauna cu ora actuală reală. Dacă trebuie să afișați ora exactă, atunci trebuie să utilizați un script PHP care va afișa ora pe server.