Jquery merrni kohën aktuale. JavaScript Merrni kohën dhe datën aktuale

Marr data aktualeËshtë shumë e thjeshtë në JavaScript. Për këtë është objekti Date. Sintaksa e saj është mjaft e thjeshtë, dhe emrat e metodave janë intuitive. Në shembujt e mëposhtëm, unë do t'ju tregoj se si të punoni me një objekt Date (datë e re JavaScript) për të zbritur vitin, muajin, ditën dhe kohën aktuale në milisekondë!

Marrja e datës aktuale:

Për të marrë datën aktuale në JavaScript, përdorni fjalën kyçe të re për të krijuar një shembull të ri të objektit Date.

var data = data e re (); konsol.log(datë);

Ky kod printon informacionin e mëposhtëm në tastierë:

//Martë 2 shkurt 2016 15:46:56 GMT-0500 (Koha standarde lindore)

Ai shfaq ditën aktuale të javës, muajin aktual, ditën e muajit, vitin dhe madje edhe kohën aktuale në formatin 24-orësh. Fragmenti "GMT" do të thotë ora mesatare e Greenwich-it dhe "-0500" është diferenca e zonës kohore midis orës lokale dhe GMT.

Citim nga Wikipedia: "Greenwich Mean Time (GMT) është koha mesatare diellore në Observatorin Mbretëror në Greenwich, Londër." Kjo lidhet me Kohën Universale të Koordinuar (UTC). "Koha standarde lindore" në vlerën e datës së shfaqur i referohet zonës kohore të shfletuesit ose kompjuterit tuaj.

*Ju lutemi vini re se GMT dhe UTC janë të ndryshme. Ne do të marrim parasysh vlerat UTC në minuta.

* Vini re gjithashtu se një datë në JavaScript përcaktohet nga koha në milisekonda që ka kaluar që nga mesnata e 01 janarit 1970, UTC. Ka 86,400,000 milisekonda në një ditë. Gama e një objekti Date është -100,000,000 ditë deri në 100,000,000 ditë në krahasim me 1 janar 1970, UTC.

*Vlerat e marra duke përdorur metodën e përmendur më sipër varen nga cilësimet e sistemit të pajisjes suaj. Nëse ndryshoni cilësimet e orës së kompjuterit tuaj, koha e kthimit të kësaj metode do të ndryshojë gjithashtu.

Në rregull, ne kemi kuptuar formatet e reja JavaScript të Data dhe tani jemi gati për të vazhduar!

Marrja e ditës së javës:

Për të marrë ditën e javës, përdorni metodën getDay() të objektit Date JavaScript:

var ditë = data.getDay(); konsol.log(ditë);

*Ju lutemi vini re se ditët e javës numërohen nga 0 në 6, e diela = 0, e hënë = 1, e martë = 2 e kështu me radhë.

Marrja e muajit:

Për të marrë muajin aktual të vitit aktual, përdorni metodën getMonth(). Përpara kësaj thashë që emrat e metodave janë intuitive!

var muaj = data.getMonth(); konsol.log(muaj); //1

*Vini re se, ashtu si ditët e javës, muajt kthehen në format numrash nga 0 në 11; janar = 0, shkurt = 1, mars = 2 e kështu me radhë.

Marrja e ditës së muajit:

Për të marrë ditën e muajit, mund të përdorni metodën GetDate().

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

* Metoda GetDate() kthen ditët e muajit, të numëruara nga 1 në 31; numri 1 korrespondon me ditën e parë të muajit.

Marrja e kohës:

Për të marrë kohën aktuale, përdoret metoda GetTime().

var kohë = data.getTime(); konsol.log(koha); //1454461242058

Duket... e çuditshme... Çfarë është? Ju shikoni numrin e milisekondave që kanë kaluar që nga 1 janari 1970 00:00:00 UTC. Pra, sa vjeç është?

1454461242058 ms / 31540000000 ms në vit = rreth 46 vjet
1970 + 46 vjet = 2016

Le të kontrollojmë për t'u siguruar:

var vit = data.getFullYear(); konsol.log(viti) //2016

Po ajo eshte! Sapo kemi përdorur JavaScript për të printuar datën dhe orën aktuale duke përdorur datën e re.

Data dhe ora janë pjesë e jetës sonë të përditshme dhe për këtë arsye shfaqen dukshëm në programim. Në JavaScript, kur krijoni një faqe interneti, mund t'ju duhet të shtoni një kalendar, orar treni ose ndërfaqe për planifikimin e takimeve. Këto aplikacione duhet të tregojnë oraret përkatëse bazuar në zonën aktuale kohore të përdoruesit ose të kryejnë llogaritjet në lidhje me mbërritjen dhe nisjen e një avioni ose oraret e fillimit dhe përfundimit të një ngjarjeje. Për më tepër, mund t'ju duhet të përdorni JavaScript për të dërguar raporte ditore në kohë specifike ose për filtrim (për shembull, për të gjetur restorante të hapura në një kohë të caktuar).

Objekti i datës

Data është një objekt i integruar JavaScript që ruan një datë dhe orë. Ai ofron një numër metodash të integruara për formatimin dhe menaxhimin e këtyre të dhënave.

Si parazgjedhje, një shembull i ri Date pa argumente krijon një objekt me datën dhe kohën aktuale sipas cilësimet e sistemit kompjuter aktual.

Për shembull, provoni t'i caktoni datën aktuale një ndryshoreje. Krijo një skedar now.js.

// Cakto variablin në datën dhe kohën aktuale
const tani = data e re();
// Shikoni daljen
tani;
E mërkurë, 18 tetor 2017 12:41:34 GMT+0000 (UTC)

Prodhimi është një varg datash që përmban të dhënat e mëposhtme:

Data dhe ora ndahen dhe shfaqen në një mënyrë të lehtë për t'u lexuar.

Sidoqoftë, JavaScript interpreton datën bazuar në një vulë kohore Unix, e cila është një vlerë që përbëhet nga numri i milisekondave që kanë kaluar që nga mesnata e 1 janarit 1970. Ju mund të merrni vulën kohore duke përdorur metodën getTime().

// Merrni vulën kohore aktuale
tani.getTime();
1508330494000

Numri i madh që shfaqet në dalje si vula kohore aktuale përfaqëson numrin e milisekondave që kanë kaluar nga mesnata e 1 janarit 1970 deri më 18 tetor 2017.

Koha zero (ose koha e epokës) përfaqësohet nga vargu i datës 01 janar 1970 00:00:00 Koha Universale (UTC) dhe vula kohore 0. Mund ta testoni këtë në shfletues duke krijuar një variabël të ri në skedarin epoch.js dhe duke i caktuar një shembull të ri të datës, bazuar në vulën kohore 0.

// Cakto vulën kohore 0 në një ndryshore të re
const epochTime = data e re(0);
epokaTime;
01 janar 1970 00:00:00 Koha Universale (UTC)

Koha zero u zgjodh si standard për mënyrën se si kompjuterët matin kohën dhe kjo metodë përdoret në JavaScript. Është e rëndësishme të kuptohen vulat kohore dhe vargjet e datave sepse këto koncepte mund të përdoren në varësi të cilësimeve dhe qëllimit të aplikacionit.

Tani ju e dini se si të krijoni një shembull të ri të datës bazuar në kohën aktuale dhe bazuar në një vulë kohore. Ekzistojnë gjithsej katër formate të datës në JavaScript. Përveç orës aktuale dhe vulës kohore të paracaktuar, mund të përdorni gjithashtu një varg datash ose të specifikoni një datë dhe orë specifike.

Për të demonstruar mënyra të ndryshme referenca për një datë specifike, provoni të krijoni objekte të reja Date që përfaqësojnë 4 korrik 1776, 12:30 GMT në tre mënyra të ndryshme.

// Metoda e vulës kohore
data e re (-6106015800000);
// Metoda e vargut të datës
data e re ("31 janar 1980 12:30");
// Metoda e datës dhe kohës
data e re (1776, 6, 4, 12, 30, 0, 0);

Të gjithë këta shembuj përfaqësojnë të njëjtin informacion për datën dhe kohën në tre mënyra të ndryshme.

Siç mund ta shihni, metoda e vulës kohore ka një numër negativ; çdo datë para kohës zero do të përfaqësohet si një numër negativ.

Në shembullin e tretë, sekondat dhe milisekonda përfaqësohen nga 0. Nëse ju mungon ndonjë e dhënë kur krijoni një objekt Date, duhet t'ia caktoni atë 0. Të dhënat që mungojnë nuk mund të anashkalohen sepse rendi i të dhënave kohore në varg nuk ndryshim. Duhet të theksohet gjithashtu se muaji korrik është caktuar këtu si 6, dhe jo si 7. Kjo sepse numërimi mbrapsht fillon jo nga 1, por nga 0. Më shumë për këtë në seksionin tjetër.

Marrja e datave me get

Duke pasur parasysh një datë, ju mund të përdorni të gjithë përbërësit e tij duke përdorur metoda të ndryshme të integruara. Metodat kthejnë secilën pjesë të datës në lidhje me zonën lokale kohore. Secila prej këtyre metodave fillon me get dhe kthen një numër relativ. Më poshtë është një tabelë e detajuar e metodave të marrjes për objektin Date.

Data Ora Metoda Gama Shembull
viti getFullYear () YYYY 1970
Muaj getMonth () 0-11 0 = janar
Dita e muajit getDate () 1-31 1 = 1 e muajit
Ditë të javës getDay () 0-6 0 = e diel
Ora getHours () 0-23 0 = mesnatë
Minuta getMinutes () 0-59
Së dyti getseconds () 0-59
Milisekonda getMillisekonda () 0-999
Vula kohore getTime ()

// Inicializoni një shembull të ri të ditëlindjes
konst ditëlindja = data e re (1980, 6, 31);

Tani mund të përdorni të gjitha metodat për të nxjerrë çdo komponent të datës.

ditëlindjen.getFullYear(); // 1980
ditëlindjen.getMonth(); // 6
ditëlindjen.getDate(); // 31
ditëlindjen.getDay(); // 4
ditëlindjen.getHours(); // 0
ditëlindjen.getMinutes(); // 0
ditëlindjen.getSeconds(); // 0
ditëlindjen.getMilliseconds(); // 0
ditëlindjen.getTime(); // 333849600000 (për GMT)

Ndonjëherë ju duhet të nxirrni vetëm një pjesë të një date dhe metodat e integruara të marrjes do t'ju ndihmojnë për këtë.

Për shembull, mund të krahasoni datën aktuale me datën 3 tetor për të zbuluar nëse është 3 tetor apo jo.

// Merrni datën e sotme
const sot = data e re();
// Krahaso sot me 3 tetorin
nëse (sot.getDate() === 3 && today.getMonth() === 9) (
console.log ("Është 3 tetori.");
) tjeter (
console.log ("Nuk është 3 tetori.");
}
Nuk është 3 tetori.

Metodat e integruara të marrjes ju lejojnë të përdorni komponentët e datës.

Ndryshimi i datës me set

Për të gjitha metodat e marrjes të listuara më sipër, ekziston një metodë përkatëse e grupit. Nëse get përdoret për të tërhequr një komponent specifik të datës, set përdoret për të modifikuar ato komponentë. Më poshtë është një tabelë e detajuar e metodave të vendosjes për objektin Date.

Data Ora Metoda Gama Shembull
viti setFullYear () YYYY 1970
Muaj set Muaj () 0-11 0 = janar
Dita e muajit setDate() 1-31 1 = 1 e muajit
Ditë të javës setDay () 0-6 0 = e diel
Ora setHours () 0-23 0 = mesnatë
Minuta setMinutes () 0-59
Së dyti setseconds() 0-59
Milisekonda setMillisekonda () 0-999
Vula kohore vendos oren() Numri i milisekondave që nga koha zero

Këto metoda grupesh mund të përdoren për të ndryshuar një ose më shumë komponentë të datës. Për shembull, mund ta ndryshoni vitin në variablin e ditëlindjes në 1997.

// Ndrysho vitin e datës së ditëlindjes
ditëlindjen.setFullYear(1997);
ditëlindjen;
E enjte, 31 korrik 1997 00:00:00 GMT+0000 (UTC)

Tani, kur thërrisni variablin e ditëlindjes, nuk shihni 1980, por 1997.

Metodat e integruara të grupit ju lejojnë të ndryshoni pjesë të ndryshme të objektit Date.

Metodat UTC

Metodat e marra të përshkruara më sipër marrin komponentët e datës bazuar në cilësimet lokale zona kohore e përdoruesit. Për të rritur kontrollin mbi datat dhe orët, mund të përdorni metodat getUTC, të cilat funksionojnë njësoj si metodat e marra, por llogaritin kohën bazuar në UTC (Koha e Koordinuar Universale). Më poshtë është një tabelë e metodave UTC për objektin Date në JavaScript.

Data Ora Metoda Gama Shembull
viti getUTCFullYear() YYYY 1970
Muaj getUTCMonth() 0-11 0 = janar
Dita e muajit getUTCDate () 1-31 1 = 1 e muajit
Ditë të javës getUTCDday () 0-6 0 = e diel
Ora getUTCHours() 0-23 0 = mesnatë
Minuta getUTCMinutes() 0-59
Së dyti getUTCSseconds() 0-59
Milisekonda getUTCMillisekonda() 0-999

Për të testuar ndryshimin midis metodave të marrjes lokale dhe metodave të marrjes UTC, ekzekutoni kodin e mëposhtëm.

// Caktoni kohën aktuale një ndryshoreje
const tani = data e re();
// Printoni zonat kohore lokale dhe UTC
console.log(tani.getHours());
console.log(tani.getUTCHours());

Ky kod do të nxjerrë kohën aktuale dhe zonën kohore UTC. Nëse jeni aktualisht në zonën kohore UTC, numrat që do të nxjerrë programi do të jenë të njëjtë.

UTC ofron një standard ndërkombëtar kohor dhe për këtë arsye mund të mbështesë kodin që të përputhet me zonat kohore nëse është e nevojshme në programin tuaj.

konkluzioni

Në këtë tutorial, ju mësuat se si të krijoni një objekt Date dhe si të përdorni metodat e tij të integruara për të hyrë dhe modifikuar komponentët e një date specifike. Mund të gjeni më shumë informacion rreth orës dhe datës në JavaScript në Rrjetin e Zhvilluesve Mozilla.

Të dish se si të punosh me datat është e rëndësishme për shumë detyra të zakonshme JavaScript, nga krijimi i raporteve të rregullta deri te shfaqja e datave dhe orareve në zonën e saktë kohore.

Etiketa:

Një tjetër gjë e dobishme për faqet e internetit është futja e datës aktuale. Dhjetra shembuj të skripteve të datave mund të gjenden në internet, por shumë prej tyre, për mendimin tim, janë të rëndë dhe, për rrjedhojë, të shëmtuara. Ndërkohë, duke përdorur mjete standarde JavaScript, ju mund të futni një datë në një faqe interneti shumë thjesht. E përdor shumë shpesh! Në foto (screenshot nga faqja aktuale e internetit) të pasurisë Skazka!

Këtu është i gjithë skenari i datës:

Për mendimin tim, nuk mund të ishte më e thjeshtë, mjaft e bukur dhe e kuptueshme. Nëse nuk keni dëshirë të studioni ndërtimin e këtij skenari, atëherë thjesht ngjisni atë kudo në faqen HTML dhe merrni mbishkrimin e mëposhtëm:

Një tjetër opsion më i avancuar

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

Duket kështu:

Sot

Në përgjithësi, nuk kërkohen aftësi, thjesht futni budallallëk kodin dhe gjithçka është në rregull!

Më shumë detaje:

Pra, fillojmë duke i caktuar vlerën e datës variablës d, më pas krijojmë vargje (Array) për ditët e javës (ditë) dhe muajt (muaj), duke i specifikuar ato në formën e nevojshme gramatikore: rasti, numri, shkronja e madhe nëse fjala shfaqet në fillim të datës etj. .P. Rreshti i fundit i skriptit është shtypja aktuale e datës (dokument.shkruaj). Këtu ju vendosni se çfarë dhe në çfarë rendi do të shfaqni në rreshtin aktual të datës. Komponentët ndahen nga njëri-tjetri me një shenjë +. Për të futur një hapësirë, përdorni konstruksionin " ", dhe për të futur shkronjën g (vit) përdorni konstruksionin " g".

Siç mund ta shihni nga skripti, elementi get kryen të dhënat aktuale të kohës. Kjo metodë ju lejon të merrni informacionin e mëposhtëm:

  • getDate() - kthen një numër nga 1 në 31 që përfaqëson ditën e muajit;
  • getDay() - kthen ditën e javës si një numër të plotë nga 0 (e diel) në 6 (e shtunë);
  • getMonth() - kthen numrin e muajit në vit;
  • getFullYear() - kthen vitin. Nëse thjesht përdorni getYear() , do të shfaqet viti aktual minus 1900;
  • get Hours() - kthen orën e ditës;
  • getMinutes() - kthen minutat si numër nga 0 në 59;
  • getSeconds() - kthen numrin e sekondave nga 0 në 59.

Nuk është gjithmonë e përshtatshme për të futur një skrip Java direkt në një faqe interneti. Është më mirë të vendosim përshkrimin e skriptit në fillim të faqes midis etiketave dhe të vendosim një variabël që do ta quajmë sipas nevojës në tekst. Le ta quajmë SOT dhe të përcaktojmë në të formën e daljes së datës të ngjashme me sa më sipër. Skenari do të duket si ky:


Për të shfaqur datën, thirrni skriptin në vendin e dëshiruar në kodin HTML të faqes duke përdorur komandën e mëposhtme:


dokument.shkruaj(SOT);

Nëse faqja juaj përmban shumë faqe në të cilat ju duhet të shfaqni datën, atëherë është më e përshtatshme të ndani skriptin Java për shfaqjen e datës në një skedar të veçantë, për shembull, data.js. Në praktikë, kjo është një faqe e përbërë nga skriptet e para të përshkruara, domethënë me linjën document.write (shih më lart). Duhet të jetë i vendosur në të njëjtin direktorium si faqja kryesore dhe të thirret në vendin ku shfaqet data si më poshtë:


Mos harroni të kontrolloni që skedari data.js të ketë të njëjtin kodim si dokumenti kryesor, përndryshe data do të shfaqet me grepa, katrorë dhe truke të tjera të mrekullueshme.

Koment. Duhet të kihet parasysh se skripti i përshkruar shfaq datën e caktuar në kompjuterin e përdoruesit, e cila jo gjithmonë korrespondon me kohën reale aktuale. Nëse keni nevojë të tregoni kohën e saktë, atëherë duhet të përdorni një skript PHP që do të tregojë kohën në server.

Përdorni Date() të re për të krijuar një objekt të ri Date që përmban datën dhe kohën aktuale.

vini re se Data () thirrur pa argumente është ekuivalente me data e re (Data.tani()) .

Pasi të keni një objekt datë, mund të përdorni ndonjë nga disa metoda të disponueshme për të rikuperuar vetitë e tij (për shembull, getFullYear() për të marrë vitin 4-shifror).

Më poshtë janë disa metoda të zakonshme të datës.

Merrni vitin aktual var vit = (Data e re()).getFullYear(); konsol.log(viti); // Prodhimi i mostrës: 2016 Merrni muajin aktual var muaj = (Data e re()).getMonth(); konsol.log(muaj); // Prodhimi i mostrës: 0

Vini re se 0 = Janar. Kjo për shkak se muajt ndryshojnë nga 0 përpara 11 , kështu që shpesh është e dëshirueshme të shtoni +1 në indeks.

Merrni ditën aktuale var ditë = (Data e re()).getDate(); konsol.log(ditë); // Prodhimi i mostrës: 31 Merr orën aktuale var orë = (Data e re()).getHours(); console.log (orë); // Prodhimi i mostrës: 10 Merr minutat aktuale var minuta = (Data e re()).getMinutes(); console.log (minuta); // Prodhimi i mostrës: 39 Merr sekondat aktuale var sekonda = (Data e re()).getSeconds(); konsol.log (e dyta); // Prodhimi i mostrës: 48 Merrni milisekonda aktuale

Për të marrë milisekondat (nga 0 në 999) të një shembulli të objektit Date, përdorni metodën getMilliseconds.

Var milisekonda = (Data e re()).getMillisekonda(); konsol.log (milisekonda); // Prodhimi: milisekonda tani

Konvertimi i orës dhe datës aktuale në një varg të lexueshëm nga njeriu var tani = new Date(); // konverto datën në një varg në formatin e zonës kohore UTC: console.log(tani.toUTCString()); // Prodhimi: e mërkurë, 21 qershor 2017 09:13:01 GMT

Metoda statike Date.now() kthen numrin e milisekondave që kanë kaluar që nga 1 janari 1970, 00:00:00 UTC. Për të marrë numrin e milisekondave që kanë kaluar që atëherë duke përdorur një shembull të objektit Date, përdorni metodën e tij getTime.

// merrni milisekonda duke përdorur metodën statike tani të Date console.log(Date.now()); // merrni milisekonda duke përdorur metodën getTime of Date instance console.log((new Date()).getTime());

Pershendetje te gjitheve!
Shpesh më duhet të punoj me të dhëna statistikore dhe shumë prej tyre janë të lidhura me datat. Për më tepër, e njëjta datë mund të përdoret në një faqe në formate të ndryshme (për shembull, në një format miqësor ndaj makinës dhe në një format miqësor ndaj njeriut). Unë mendoj se shumica prej jush janë të vetëdijshëm për të gjithë kodin e tmerrshëm që del nga përdorimi i objektit Date.
Për shembull, për të marrë datën aktuale në formatin DD.MM.VVVV duhet të bëjmë sa më poshtë:
var d = data e re(), fd = d.getDate() + "." + (d.getMonth()+1) + "." + d.getFullYear();
Dhe kur linjat e tilla bëhen të shumta? A është e lehtë të mbani mend se në JavaScript muaji fillon nga zero kur ju zhvilloni jo vetëm në të? Apo fakti që këtu ka milisekonda, dhe jo sekonda, si pothuajse kudo tjetër në fund? Ju mund të zgjidhni disa probleme me bibliotekën e njohur Moment.js, por ajo funksionon shumë ngadalë.
Biblioteka në fjalë i zgjidh këto probleme.
Nëse jeni të interesuar, ju sugjeroj të lexoni këtë përmbledhje të shkurtër.

TempusJS përmban shumë sheqer sintaksor në objektin Date, kështu që është shumë i shpejtë. Sintaksa e vetë bibliotekës është shumë e thjeshtë. Për shembull, ju mund të shkruani shembullin e mëparshëm si ky:
var fd = tempus().format("%d.%m.%Y");
Tani për shpejtësinë. Në spoiler mund të shihni një krahasim të Tempus me Moment dhe mënyrën vendase të formatimit të datës (shih më lart):

Krahasimi i JS vendas, MomentJS dhe TempusJS

Merrni datën aktuale Native JS x 2,175,575 ops/sek ±0,75% (96 ekzekutime të kampionuara) Momenti x 284,864 ops/sek ±0,85% (96 ekzekutime të kampionuara) Tempus x 2,086,081 ops/sek NS ±0,73 ekzekutime të mostrave x 1,637,517 ops/sek ±0,61% (100 ekzekutime të kampionuara) Momenti x 8,808 ops/sek ±1,07% (100 ekzekutime të kampionuara) Tempus x 942,815 ops/sek ±0,68% (94 ekzekutime të kampionuara, 94 ekzekutime të kampionuara, Njohja automatike e 94 dhe data e analizuar x11 ops/sek ±0,81% (88 ekzekutime të kampionuara) Momenti x 38,511 ops/sek ±1,41% (95 ekzekutime të kampionuara) Tempus x 93,973 ops/sek ±1,06% (85 ekzekutime të kampionuara) Formati i analizimit të datës Momenti x 46,293 op. % (100 ekzekutime të kampionuara) Tempus x 109,947 ops/sek ±0,93% (99 ekzekutime të mostrës) Momenti i analizimit dhe i vërtetimit x 44,588 ops/sek ±1,09% (90 ekzekutime të kampionuara) Tempus x 103,439 ops/sek. )
Rezultatet u morën në laptopin tim në Google Chrome 30.0.1599.114. Në shfletues të tjerë rezultatet ndryshojnë, por raporti mbetet afërsisht i njëjtë.
Biblioteka e benchmark.js u përdor për teste
Ju mund t'i shihni standardet për funksione të tjera.

Pra, avantazhet e kësaj biblioteke mund të shkruhen si më poshtë:

  • Mbështet IE6+, Chrome, Firefox, Opera;
  • Mbështet zinxhirët e thirrjeve;
  • Muajt ​​mund të fillojnë me 1 (parazgjedhje) dhe jo me zero;
  • Milisekonda mund të çaktivizohen (e parazgjedhur) ose të aktivizohen;
  • Funksionim i shpejtë (Meqenëse, në shumë raste, përdoret objekti vendas i shfletuesit Date, zbatimi i të cilit është shkruar në gjuhë më të shpejta);
  • Mbështet formate dhe shtojca të personalizuara
  • Vërtetimi i datës është shumë i shpejtë dhe varet vetëm nga funksionet që caktojnë datën (pasi vërtetimi bëhet kur futen vlerat dhe nuk llogaritet veçmas);
  • Shumëgjuhësh dhe zbulim automatik i gjuhës së përdoruesit.

Këtu do të flasim vetëm për disa nga funksionet.

Formatimi dhe analizimi

Pra, së pari, një shembull tjetër i formatimit të datës. Këtu ne përdorim edhe zinxhirin e thirrjeve. Në fund të çdo përcaktimi të vlerës, ne marrim një objekt TempusDate që mund ta përdorim më tej në zinxhir. Shembull:
tempus (). // merrni një datë të re llogaritur ((muaj: -1)). // zvogëlojeni atë me një muaj format ("%d.%m.%Y"); // Dalje si varg
Kështu, do të marrim të njëjtën ditë, orë dhe sekondë, por një muaj më parë. Kjo mund të jetë e dobishme për marrjen e raporteve për muajin e fundit.

Shembulli tjetër është analizimi i datave.
// Ktheni një objekt TempusDate me datën "2013-11-18" tempus("11/18/2013"); // Ktheni një objekt TempusDate me datën "2013-12-12" tempus("2013-12-12", "%Y-%m-%d"));
Tempus mund të zbulojë automatikisht disa formate të njohura. Gjithashtu, mund të specifikoni një format specifik, atëherë analizimi do të jetë më i shpejtë. Plus, mund të caktoni një datë që do të kthehet nëse analizimi dështon:
// Sepse "123" nuk i përshtatet formatit "%d.%m.%Y", pastaj // një objekt që përmban datën 2013-01-01 tempus("123", "%d.%m.%Y", tempus do të kthehet ());
Lista e formateve të paracaktuara mund të shikohet

Tani le të ndryshojmë formatin e datës tashmë të formatuar
// "2013-11-05" tempus("05.11.2013").format("%Y-%m-%d"); // Ose si kjo // "Tetor, 12" tempus("2013-10-12 12:31:01", "%Y-%m-%d %H:%M:%S").format(" % B, %d");

Ju gjithashtu mund të përdorni lokalizimin për formatim. Si parazgjedhje, gjuha e përdoruesit do të zgjidhet (marrë nga shfletuesi) ose gjuha e paracaktuar nëse gjuha e përdoruesit nuk gjendet midis gjuhëve të disponueshme Tempus.
// Cakto gjuhën tempus.lang("ru"); // Ne përdorim formatin si standard // "Nëntor, 05" tempus(1383609600).format("%B, %d");
Për momentin ka vetëm dy gjuhë - rusisht dhe anglisht, kështu që do të jem i lumtur të ndihmoj.

Vleresimi Vleresimi i nje date ndodh si me poshte:
// Kthen tempus false("08/32/2013", "%d.%m.%Y").valid(); // Return true tempus("00:00 01/01/2012", "%H:%M %d.%m.%Y").valid();

Në rast të një gabimi, mund të shihni fushat në të cilat ka ndodhur - kudo që vlera nuk është false:
// Kthimi ("viti":-5,"muaj":false,"ditë":false,"orë":false, // "minuta":false,"sekonda":false,"milisekonda":false) tempus (). viti (-5). // vendos viti=-5, d.m.th. gabime të pavlefshme(); // merrni një objekt me gabime

Gama e datave Ndonjëherë na duhet të marrim numrin e viteve (për shembull, moshën), muajt, ditët, etj. ndërmjet dy datave. Për ta bërë këtë, ne mund të përdorim metodën ndërmjet, e cila gjen ndryshimin midis dy datave dhe e kthen atë në formatin e dëshiruar ("vit", "muaj", "ditë", "orë", "minuta", "sekonda", "milisekonda").
Këtu është një shembull i thjeshtë i marrjes së numrit të muajve midis 1 nëntorit 2013 dhe 5 majit 2014:
// Kthehu 6 tempus().between(tempus(), "muaj");
Ose sa orë kanë mbetur deri në vitin e ri
tempus().ndërmjet(tempus(), "orë");
Në shembullin e fundit, do të vini re se unë specifikova vetëm vitin. Kur vendosni një vlerë nga një grup ose objekt, vlerat që mungojnë do të jenë
e mbushur me minimale Ju mund të shihni një listë të konstantave me vlera minimale në dokumentacion.

Gjithashtu, ne mund të ndryshojmë çdo datë duke përdorur funksionin llogaritës:
// Kthimi TempusData me datën 2012-01-01 tempus().calc((viti: 1, muaji: -4, dita: -1));

Formatet e personalizuara Ne aplikojmë formatin tonë për muajin, i cili mund të marrë vlera nga 1 në 12 (jo nga 01 në 12):
// Regjistro një format të ri tempus.registerFormat("%q", // direktiva - %q funksion(datë) ( // Këtu tregojmë funksionin e formatimit, d.m.th. çfarë do të zëvendësohet për %q data.month(); ), funksioni(vlera) (// Dhe këtu është funksioni i analizimit var v = Numri(vlera); kthimi (muaji: (isNaN(v) ? i padefinuar: v) ); ), 1, // Gjatësia minimale që vlera 2 mund të marrë , // Gjatësia maksimale "numri" // Lloji); // Test // Kthimi "01.1.2013"; tempus((viti: 2013, muaji: 1, dita: 1)).format("%d.%q.%Y"); // Kthimi ("viti":2013,"muaj":2,"ditë":10,"orë":0,"minuta":0,"sekonda":0); tempus("10.2.2013", "%d.%q.%Y").get();
Gjatë regjistrimit, mund të vëreni se disa parametra janë specifikuar veçmas, ndërsa mund të përdoret një shprehje e rregullt. Në fakt, fillimisht ishte aty, por pasi e braktisi, shpejtësia u rrit disa dhjetëra.
Nëse keni nevojë të hiqni një format, përdorni unregisterFormat:
tempus.unregisterFormat("%d"); // Kthen "%d.01.2013", sepse Direktiva %d nuk ekziston më. tempus.format((viti: 2013, muaji: 1, dita: 1), "%d.%m.%Y"); Marrësit/vendosjet Ju mund të merrni/vendosni disa vlera duke përdorur funksionet vit(), muaj(), ditë(), orë(), minuta(), sekonda(), milisekonda(), dayOfWeek(), utc() , vula kohore( ) ose set(). Për shembull:
tempus (). // Merrni datën aktuale viti (1900). // Lërini gjithçka ashtu siç është, por vendosni vitin në 1900 leapYear(); // Kontrollo nëse është vit i brishtë, në këtë rast false tempus().year(); // Dhe kështu marrim vitin aktual në formë numerike Gjenerimi i datave Ju mund të gjeneroni një datë në shumë mënyra, listën e plotë parametrat janë në dokumentacion. Këtu është një shembull minimal.
// kthen ["03/29/2013", "03/30/2013", "03/31/2013", "04/01/2013", "04/02/2013"]; tempus.generate(( dateNga: "20130329", formatNga: "%Y.%m.%d", dateTo: "20130402", periudha: (dita: 1), formati: "%d.%m.%Y" ));
Kjo mund të jetë e dobishme për shfaqjen e grafikëve sipas datës dhe ndryshimin e formatit të ekranit direkt në klient, pa kërkesa për backend. Data mund të gjenerohet si një grup ose si objekte, ku vetë datat do të jenë çelësat (kjo është e dobishme kur na duhet të lidhim një ngjarje me një datë, për shembull, kur bëjmë kalendarin tonë). Gjithashtu, datat mund të grupohen sipas ditëve, javëve, muajve, orëve, viteve - sipas çdo gjëje. Kjo mund të zbatohet edhe në kalendar Shtojcat Dhe së fundmi, por jo më pak e rëndësishme, shtojcat. Këtu ne zgjerojmë fabrikën për të gjeneruar një datë të rastësishme. Gjithashtu, na duhet klasa TempusDate, ajo mund të gjendet në tempus.classes(). Këtu është një shembull i shtojcës:
(funksioni (tempus) ( var TempusDate = tempus.classes ("TempusDate"); tempus.randomDate = funksion () ( var data = New TempusDate(); date.vit (Math.floor((Math.random()*( tempus.MAX_YEAR - tempus.MIN_YEAR)) + tempus.MIN_YEAR). kati ((Matematikisht. i rastësishëm()*(data.Numërimi i ditës() - tempus.MIN_DAY)) + tempus.MIN_DAY)).orë (Math.kati((Math.rastësor()*(tempus.MAX_HOURS - tempus.MIN_HOURS) ) + tempus.MIN_HOURS)).minuta(Math.kat ((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)); data e kthimit; )))(tempus); // Tani mund të krijojmë data si kjo var someRandomDate = tempus.randomDate();
Mendoj se në këtë mënyrë do të jetë e mundur të shkruhen lehtësisht miniaplikacionet duke përdorur një kombinim të jQuery+Tempus, Angular+Tempus, etj. Burimet Mund t'i instaloni duke shkarkuar burimet nga GitHub:
https://github.com/crusat/tempus-js/releases
Ose përmes bower:
$ bower tempus instalimi
Ju duhet vetëm një skedar - tempus.js ose tempus.min.js.

Shpresoj se kjo bibliotekë do të jetë e dobishme, dhe gjithashtu do të ishte interesante të zbulohej se çfarë mungon në të për të zhvilluar më tej bibliotekën në drejtimin e duhur. Faleminderit per vemendjen!
P.S. Faleminderit per ftesen!



Artikuj të ngjashëm: