namai - Saugumas
Javascript gauna dabartinę datą ir laiką. Vietinių JS, MomentJS ir TempusJS palyginimas
„JavaScript“ – 11 pamoka: data, vaizdavimas ir apdorojimas „JavaScript“ programoje data apibrėžiama kaip milisekundžių skaičius, praėjęs nuo 1970 m. sausio 1 d.

Įtaisytas objektas naudojamas darbui su data ir laiku Data. Šis objektas neturi savybių, tačiau turi keletą metodų, leidžiančių nustatyti ir keisti datą ir laiką.

Objektas Data sukurta naudojant operatorių naujas ir dizaineris - Data.

Pavyzdžiui:

var myData=new Data();

Kintamoji vertė mano duomenys bus dabartinė data ir laikas:

Objekto metodai Data Mėnesio, savaitės dienos, valandų, minučių ir sekundžių reikšmes galite gauti atskirai:

  • getDate– grąžina skaičių nuo 1 iki 31, reiškiantį mėnesio dieną.
  • getHours- grąžina paros valandą intervale nuo 0 (vidurnakčio) iki 23.
  • getMinutes- grąžina minutes intervale nuo 0 iki 59.
  • getSeconds- grąžina sekundes nuo 0 iki 59.
Tarkime, kad norime parašyti scenarijų, kuris aptiktų dabartinį laiką ir išves jį formatu „hh:mm:ss“.

Javascript data

Dabar parašykime pačią funkciją nLaikas ():

funkcija nLaikas(obj) ( var t=nauja Data(); var h=t.getHours(); var m=t.getMinutes(); var s=t.getSeconds(); var result=h+":"+m+ ":"+s; obj.res.value=result; )

* Kaip prisimenate, metodai nuo objekto atskirti tašku, apie tai kalbėjome 3 pamokoje * Kaip matote, viskas paprasta. Pirmiausia nustatome dabartinį laiką, o tada, naudodami metodus, iš jo ištraukiame atskiras valandų, minučių ir sekundžių reikšmes.

Čia taip pat norėčiau patikslinti liniją var rezultatas=h+":"+m+":"+s. Pirmą kartą susidūrėme su būtinybe išvesti ir kintamąsias reikšmes, ir paprastą tekstą. Iš esmės nieko sudėtingo: kintamieji rašomi taip, kaip yra, tekstas dedamas kabutėse ir ženklas + atlieka sujungimo operaciją, t.y. jų suvienijimas.

Mūsų pavyzdyje buvo vienas trūkumas: norėjome, kad laikas būtų rodomas „hh:mm:ss“ formatu, bet dabar jis rodomas formatu „h:m:s“. Tai reiškia, kad 5 val. ryto laikas bus rodomas kaip „5:0:0“, bet aš norėčiau, kad jis būtų toks: „05:00:00“ (kas yra dažniau). Kaip namų darbai galite pabandyti tai ištaisyti. Pavyzdžiui, naudojant operatorių jeigu ir eilutės raidė "0" (ideja paprasta: jei yra mažiau nei 10 valandų, tada rezultatas prieš h parašykite "0" ir taip toliau su visais kintamaisiais).

Tuo tarpu toliau tyrinėkime objekto metodus Data:

  • getDay- grąžina savaitės dieną kaip sveikąjį skaičių nuo 0 (sekmadienis) iki 6 (šeštadienis).
  • gauti mėnesį- grąžina metų mėnesio skaičių kaip sveikąjį skaičių nuo 0 (sausis) iki 11 (gruodžio mėn.).
  • gautiYear- grąžina metus kaip paskutinius du skaitmenis ( gautiFullYear– metus pateikia keturiais skaitmenimis).

    * Deja, nuo 2000 m. kyla problemų dėl metų rodymo įvairiose naršyklėse. IE metodas getYear rodo visus metus (vietoj paskutinių dviejų skaitmenų), o FireFox vietoj XX (ty 1 pakaitalai) rodo 1XX. Todėl geriau naudoti getFullYear metodą.

Parašykime scenarijų, kuris nustatys esamą datą ir parodys ją formatu „diena mėnuo metai“.

HTML puslapio kodas bus paprastas:

Javascript data

Dabar parašykime pačią funkciją tData():

Funkcija tData(obj) ( var s; var t=new Data(); var y=t.getFullYear(); var d=t.getDate(); var mon=t.getMonth(); switch (mon) (atvejis 0: s="sausis"; pertrauka; atvejis 1: s="vasaris"; pertrauka; atvejis 2: s="kovas"; pertrauka; atvejis 3: s="balandis"; pertrauka; atvejis 4: s="gegužė "; pertrauka; 5 atvejis: s="birželis"; pertrauka; 6 atvejis: s="liepa"; pertrauka; 7 atvejis: s="rugpjūtis"; pertrauka; 8 atvejis: s="rugsėjis"; pertrauka; 9 atvejis : s="October"; break; case 10: s="lapkritis"; break; case 11: s="Gruodis"; break; ) var result=d+" "+s+" "+y; obj.res.value = rezultatas;)

Pasirodė ilgiau nei pirmame pavyzdyje, nes Turiu išversti mėnesių pavadinimus į rusų kalbą.

Aukščiau aptarti metodai leidžia gauti datą. Jei mums reikia nustatyti datą, turėtume naudoti šiuos metodus:

  • setDate- nustato mėnesio dieną nuo 1 iki 31.
  • setHours- nustato valanda esamam laikui intervale nuo 0 (vidurnakčio) iki 23 val.
  • nustatyti Minutes- nustato minutes intervale nuo 0 iki 59.
  • setSeconds- nustato sekundes nuo 0 iki 59.
  • setYear- nustato metų vertę.
  • nustatytas mėnuo- nustato mėnesio reikšmę intervale nuo 0 (sausio) iki 11 (gruodžio).
  • nustatyti laiką- nustato objekto vertę Data ir grąžina milisekundžių skaičių, praėjusį nuo 1970 m. sausio 1 d.
Taigi, jei mums reikia nustatyti datą 2010 m. gruodžio 6 d., funkcijoje turėsime šį kodą:

Var t=nauja Data(); var y=t.setYear(2010); var d=t.setDate(6); var mon=t.setMonth(11); ...

Datą galite nustatyti tiesiogiai konstruktoriuje, kaip parametrą nurodydami eilutę formatu "mėnuo, diena, metai valandos: minutės: sekundės":

Var t=new Data("Vas, 10,1975 17:45:10");

Valandas, minutes ir sekundes galima praleisti (jos bus nulis):

Var t=new Data("1975 m. vasario 10 d.");

Tą pačią datą galima nurodyti skaičiais, nurodant metus, mėnesį, dieną, valandas, minutes, sekundes, atskiriant kableliais:

Var t=new Data(75, 1, 10, 17, 45, 10);

Arba praleidžiant valandas, minutes ir sekundes (jos bus nulis):

Var t=new Data(75, 1, 10);

* Iškilo problema: IE nenori rodyti metų, todėl šių parinkčių geriau nenaudoti.

Tai viskas, jūs esate pasiruošę patys parašyti scenarijų, kuris, įkeliant puslapį, parodys jo apsilankymo datą, laiką ir dieną (įprasta rusiška forma). Sėkmės!

Kitas naudingas dalykas svetainėms yra dabartinės datos įterpimas. Internete galima rasti daugybę datos scenarijų pavyzdžių, tačiau daugelis jų, mano nuomone, yra gremėzdiški ir dėl to negražūs. Tuo tarpu naudojant standartinėmis priemonėmis JavaScript, datą į svetainės puslapį galite įterpti labai paprastai. Naudoju labai dažnai! Skazkos dvaro paveikslėlyje (ekrano kopija iš dabartinės svetainės)!

Štai visas datos scenarijus:

Mano nuomone, tai negali būti paprasčiau, gana gražiai ir suprantamai. Jei nenorite studijuoti šio scenarijaus kūrimo, tiesiog įklijuokite jį bet kurioje HTML puslapio vietoje ir gaukite šį užrašą:

Kitas sudėtingesnis variantas

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

Tai atrodo taip:

Šiandien

Apskritai nereikia jokių įgūdžių, tiesiog kvailai įdėkite kodą ir viskas gerai!

Daugiau informacijos:

Taigi, pradedame priskirdami datos reikšmę kintamajam d, tada sukuriame masyvus (Array) savaitės dienoms (dienai) ir mėnesiams (mėnuo), nurodydami juos reikiama gramatine forma: didžioji raidė, skaičius, didžioji raidė, jei žodis pasirodo datos pradžioje ir tt .P. Paskutinė scenarijaus eilutė yra faktinis datos spausdinimas (document.write). Čia nustatote, ką ir kokia tvarka rodyti dabartinės datos eilutėje. Komponentai yra atskirti vienas nuo kito + ženklu. Norėdami įvesti tarpą, naudokite " " konstrukciją, o norėdami įvesti raidę g (metai), naudokite " g " konstrukciją.

Kaip matote iš scenarijaus, duomenų apie dabartinį laiką gavimą atlieka get elementas. Šis metodas leidžia gauti šią informaciją:

  • getDate() – grąžina skaičių nuo 1 iki 31, reiškiantį mėnesio dieną;
  • getDay() – grąžina savaitės dieną kaip sveikąjį skaičių nuo 0 (sekmadienis) iki 6 (šeštadienis);
  • getMonth() – grąžina metų mėnesio skaičių;
  • getFullYear() – grąžina metus. Jei tiesiog naudojate getYear(), bus rodomi dabartiniai metai, atėmus 1900;
  • get Hours() – grąžina paros valandą;
  • getMinutes() – grąžina minutes kaip skaičių nuo 0 iki 59;
  • getSeconds() – grąžina sekundžių skaičių nuo 0 iki 59.

Ne visada patogu įterpti Java scenarijų tiesiai į svetainės puslapį. Scenarijaus aprašymą geriau patalpinti puslapio pradžioje tarp žymų ir nustatyti kintamąjį, kurį iškviesime pagal poreikį tekste. Pavadinkime tai ŠIANDIEN ir apibrėžkime datos išvesties formą, panašią į aukščiau pateiktą. Scenarijus atrodys taip:


Norėdami parodyti datą, iškvieskite scenarijų į pageidaujamą puslapio HTML kodo vietą naudodami šią komandą:


dokumentas.rašyti(ŠIANDIEN);

Jei jūsų svetainėje yra daug puslapių, kuriuose reikia rodyti datą, patogiau yra atskirti Java scenarijų, skirtą datai rodyti, į atskirą failą, pavyzdžiui, data.js. Praktiškai tai yra puslapis, susidedantis iš pirmojo iš aprašytų scenarijų, tai yra su eilute document.write (žr. aukščiau). Jis turi būti tame pačiame kataloge kaip pagrindinis puslapis ir iškviestas toje vietoje, kur rodoma data:


Nepamirškite patikrinti, ar failo data.js koduotė yra tokia pati kaip ir pagrindiniame dokumente, kitaip data bus rodoma nuostabiais kabliukais, kvadratais ir kitomis gudrybėmis.

komentuoti. Reikėtų nepamiršti, kad aprašytame scenarijuje rodoma vartotojo kompiuteryje nustatyta data, kuri ne visada atitinka tikrąjį dabartinį laiką. Jei reikia parodyti tikslų laiką, tuomet reikia naudoti PHP scenarijų, kuris parodys laiką serveryje.

Šioje pamokoje susipažinsime su JavaScript Date objektu ir išmoksime jį naudoti praktiškai.

Datos kūrimas – 4 pavyzdžiai

„JavaScript“ programoje data sukuriama naudojant Date objektą. Datos objektas žymi tašką laiko ašyje ir yra skirtas datai ir laikui išsaugoti milisekundžių tikslumu.

Datos kūrimo „JavaScript“ pavyzdžiai.

1. Sukurkite dabartinę datą ir laiką.

Dabartinės datos ir laiko gavimas „JavaScript“ atliekamas sukuriant datos objektą nenurodant jokių parametrų:

// dabartinė data (data ir laikas, buvę tuo metu, kai buvo sukurtas datos objekto egzempliorius vietinis kompiuteris user) var now = new Data(); // pavyzdžiui, atspausdinti dabartinę datą konsolėje console.log(now);

Jei tik reikia gauti šios dienos data eilutės formatu, galite naudoti toLocaleDateString metodą:

Var now = new Date().toLocaleDateString(); // 2019-12-19

Dabartinį vartotojo laiką galima gauti taip:

Var now = new Date().toLocaleTimeString(); // 11:02:48 var now = new Date().toLocaleTimeString().slice(0,-3); // 11:02

Datą ir laiką galite gauti tokiu eilutės formatu:

Var now = new Date().toLocaleString(); // 2019-12-19, 11:02:48

2. Datos sukūrimas, nurodant Date objektą milisekundžių skaičių, kuris praėjo nuo 1970 m. sausio 1 d. 00:00:00 UTC.

// 1 metai (ne aukšto lygio) = 365*24*60*60*1000 = 31536000000 ms // pavyzdžiui, sukurkite datą 01/01/1971, 00:00:00 UTC: var date1 = new Date( 31536000000);

3. Datos sukūrimas nurodant ją Datos objekte kaip eilutę.

Naudodamas šią datos kūrimo parinktį, „JavaScript“ bandys suprasti jai perduotą eilutę ir pagal ją sugeneruoti datą. Eilutė konvertuojama į datą „JavaScript“ naudojant Date.parse metodą.

Pavyzdžiui:

// datos kūrimas pagal eilutę DD.MM.YY formatu var date1 = new Data("05.11.19"); // sukurti datą pagal eilutę formatu YYYY-MM-DDThh:mm:ss.sss (datai ir laikui atskirti naudojamas simbolis T) var date2 = new Data("2015-02-24T21:23 "); // sukurti datą pagal eilutę, nurodančią laiko juostą (formatas YYYY-MM-DDThh:mm:ss.sss±hh:mm): var date3 = new Data("2015-02-24T22:02+03:00 “);

4. Datos sukūrimas, nurodant šiuos kableliais atskirtus parametrus: metai (4 skaitmenys), mėnuo (skaičiuojama nuo 0), diena (1..31), valandos (0..23), minutės (0..59) , sekundės (0..59), milisekundės (0..999). Be to, tik pirmieji du parametrai yra privalomi.

Pavyzdys, kaip sukurti datą, nurodant tik būtinus parametrus:

// sukurti datą 2015-01-01 (nenustatyti numatytieji parametrai: skaičius – 01, valandos – 00, minutės – 00, sekundės – 00, milisekundės – 000). var date1 = new Data(2015.01); // sukurti datą 2015-01-24, 21:23 var date2 = new Date(2015,01,24,21,23);

Pastaba: jei reikia nustatyti datą ir laiką UTC, galite naudoti Date.UTC metodą.

//1 pavyzdys var date1 = Data.UTC(2015,1,1); var data2 = new Data(data1); alert(data2.toUTCString()); //2 pavyzdys var newDate = new Date(Data.UTC(2015,1,1)); alert(newData.toUTCString());

Atskirų datos ir laiko komponentų gavimas

„JavaScript“ atskiriems datos ir laiko komponentams gauti naudojami šie metodai:

  • getFullYear() – grąžina metus, susidedančius iš 4 skaičių;
  • getMonth() – grąžina mėnesį skaičiaus nuo 0 iki 11 formatu (0 – sausis, 1 – vasaris, 2 – kovas, ..., 11 – gruodis);
  • getDate() – grąžina mėnesio dieną nuo 1 iki 31;
  • getHours() – grąžina valandų skaičių nuo 0 iki 23;
  • getMinutes() – grąžina minučių skaičių nuo 0 iki 59;
  • getSeconds() – grąžina sekundžių skaičių nuo 0 iki 59;
  • getMilliseconds() – grąžina milisekundžių skaičių nuo 0 iki 999.

Visi šie metodai grąžina atskirus datos ir laiko komponentus pagal vartotojo vietiniame įrenginyje nustatytą laiko juostą.

// sukurti datą 2019-11-11 00:00 UTC var newDate = new Date(Data.UTC(2019,11,11)); // gauti datos komponentus, jei vietinis laikas vartotojo įrenginyje yra UTC+10:00 newDate.getFullYear(); //2019 newDate.getMonth(); // 10 newDate.getDate(); // 11 newDate.getHours(); // 10 newDate.getMinutes(); // 0 newDate.getSeconds(); // 0 newDate.getMilliseconds(); // 0

Pavyzdys, kuriame mes pasveikinsime vartotoją priklausomai nuo to, kokį laiko intervalą jis šiuo metu turi:

// gauti esamą vartotojo laiką ir šio laiko komponentus var now = new Date(), valanda = now.getHours(), minutė = now.getMinutes(), second = now.getSeconds(), message = ""; // apibrėžkite pasisveikinimo frazę, atsižvelgdami į vartotojo vietinį laiką if (valanda

 


Skaityti:



Atidarykite kairįjį meniu cayo coco

Atidarykite kairįjį meniu cayo coco

Cayo Coco sala yra kurortinė sala centrinėje Kuboje. Salos vieta Cayo Coco sala yra tiesiai priešais Canal Viejo...

Kodėl mums reikia radijo ryšio ir radijo stočių?

Kodėl mums reikia radijo ryšio ir radijo stočių?

Vieni svajoja apie naują „iPhone“, kiti – apie automobilį, treti – apie dalių rinkinį ir naują radijo garsiakalbį. Ne taip seniai buvo laikas, kai...

Kendall ir Spearman rangų koreliacijos koeficientai Kendall rango koreliacijos koeficiento pavyzdys

Kendall ir Spearman rangų koreliacijos koeficientai Kendall rango koreliacijos koeficiento pavyzdys

Ekspertinių vertinimų pateikimas ir preliminarus apdorojimas Praktikoje naudojami keli vertinimų tipai: - kokybiniai (dažnai-retai,...

Programavimo funkcijos

Programavimo funkcijos

Darbo tikslas: 1) išstudijuoti funkcijų aprašymo taisykles; 2) įgyti įgūdžių naudojimosi funkcijomis rašant programas C++ kalba Teorinės...

tiekimo vaizdas RSS