JavaScript Ստացեք ընթացիկ ժամը և ամսաթիվը: TempusJS - աշխատում է ամսաթվի հետ javascript Node js ընթացիկ ժամանակում
JavaScript-ում ընթացիկ ամսաթիվը ստանալը շատ հեշտ է: Ահա թե ինչի համար է Date օբյեկտը: Դրա շարահյուսությունը բավականին պարզ է, և մեթոդների անվանումները ինտուիտիվ են: Ստորև բերված օրինակներում ես ձեզ ցույց կտամ, թե ինչպես աշխատել Date օբյեկտի հետ ( JavaScript-ի նոր ամսաթիվ) ընթացիկ տարին, ամիսը, օրը և ժամը մոտակա միլիվայրկյան հասցնելու համար:
Ստանալով ընթացիկ ամսաթիվը.
JavaScript-ում ընթացիկ ամսաթիվը ստանալու համար օգտագործեք հիմնաբառնոր՝ Date օբյեկտի նոր օրինակ ստեղծելու համար:
var date = new Date(); վահանակի մատյան (ամսաթիվ);
Այս կոդը վահանակում տպում է հետևյալ տեղեկատվությունը.
//Երեք փետրվարի 02 2016 15:46:56 GMT-0500 (Արևելյան ստանդարտ ժամանակ)
Այն ցուցադրում է շաբաթվա ընթացիկ օրը, ընթացիկ ամիսը, ամսվա օրը, տարին և նույնիսկ ընթացիկ ժամը 24-ժամյա ձևաչափով: հատված» GMT«նշանակում է GMT ժամանակ, և» -0500 ' տեղական ժամանակի և GMT-ի միջև ժամային գոտիների տարբերությունն է:
Մեջբերում Վիքիպեդիայից. «Գրինվիչի միջին ժամանակ (GMT) GMTԱրեգակնային միջին ժամանակն է Թագավորական աստղադիտարանում, Գրինվիչ, Լոնդոն»: Դա կապված է UTC (UTC). « Արևելյան ստանդարտ ժամանակՑուցադրվող ամսաթվի արժեքի '-ը վերաբերում է ձեր բրաուզերի կամ համակարգչի ժամային գոտուն:
* Խնդրում ենք նկատի ունենալ, որ GMT-ը և UTC-ն տարբեր են: Մենք հաշվի կառնենք UTC արժեքները րոպեների ընթացքում:
* Նաև նկատի ունեցեք, որ JavaScript-ում ամսաթիվը որոշվում է 1970 թվականի հունվարի 1-ի կեսգիշերից UTC ժամանակով միլիվայրկյաններով: Մեկ օրում կա 86,400,000 միլիվայրկյան: Date օբյեկտի տիրույթը -100,000,000 օրից մինչև 100,000,000 օր է՝ 1970 թվականի հունվարի 01-ի UTC-ի համեմատ:
* Վերը նշված մեթոդով ստացված արժեքները կախված են ձեր սարքի համակարգի կարգավորումներից: Եթե փոխեք համակարգչի ժամացույցի կարգավորումները, ապա այս մեթոդով վերադարձված ժամանակը նույնպես կփոխվի:
Լավ, մենք դուրս ենք եկել JavaScript ամսաթվի նոր ձևաչափերից և այժմ պատրաստ ենք առաջ շարժվել:
Ստանալով շաբաթվա օրը.
Շաբաթվա օրը ստանալու համար օգտագործեք մեթոդը JavaScript ամսաթվի օբյեկտ getDay():
varday = date.getDay(); վահանակի մատյան (օր);
*Նշեք, որ շաբաթվա օրերը համարակալված են 0-ից մինչև 6, կիրակի = 0, երկուշաբթի = 1, երեքշաբթի = 2 և այլն:
Ստացեք ամիսը.
Ընթացիկ տարվա ընթացիկ ամիսը ստանալու համար օգտագործեք getMonth() մեթոդը: Մինչ այդ ես ասացի, որ մեթոդների անվանումները ինտուիտիվ են։
var ամիս = date.getMonth(); վահանակի մատյան (ամիս); //մեկ
* Նկատի ունեցեք, որ, ինչպես շաբաթվա օրերը, ամիսները վերադարձվում են թվային ձևաչափով՝ 0-ից 11; Հունվար = 0, Փետրվար = 1, Մարտ = 2 և այլն:
Ստանալով ամսվա օրը.
Ամսվա օրը ստանալու համար կարող եք օգտագործել GetDate() մեթոդը:
var dayOfMonth = date.getDate(); վահանակի տեղեկամատյան (dayOfMonth); //2
* GetDate() մեթոդը վերադարձնում է ամսվա օրերը՝ համարակալված 1-ից մինչև 31; թիվ 1-ը համապատասխանում է ամսվա առաջին օրվան:
Ժամանակ ստանալը.
Ընթացիկ ժամանակը ստանալու համար օգտագործվում է GetTime() մեթոդը:
vartime = date.getTime(); վահանակի մատյան (ժամանակ); //1454461242058
Թվում է... տարօրինակ... Ի՞նչ է դա։ Դուք տեսնում եք 1970 թվականի հունվարի 1-ից 00:00:00 UTC անցած միլիվայրկյանների թիվը: Այսպիսով, քանի տարեկան է դա:
1454461242058 ms / 31540000000 ms տարեկան = մոտ 46 տարի
1970 + 46 տարի = 2016 թ
Եկեք ստուգենք՝ համոզվելու համար.
var տարի = date.getFullYear(); console.log (տարի) //2016
Այո, սա այն է: Մենք նոր ենք հանել JavaScriptնոր ամսաթիվ ընթացիկ ամսաթիվը և ժամը:
JavaScript - Դաս 11. Ամսաթիվ, ներկայացում և մշակում
JavaScript-ում ամսաթիվը սահմանվում է որպես 1970 թվականի հունվարի 1-ից անցած միլիվայրկյանների թիվը:Ներկառուցված օբյեկտն օգտագործվում է ամսաթվի և ժամի հետ աշխատելու համար Ամսաթիվ. Այս օբյեկտը չունի հատկություններ, բայց ունի մի քանի մեթոդներ, որոնք թույլ են տալիս սահմանել և փոխել ամսաթիվը և ժամը:
Օբյեկտ Ամսաթիվստեղծված օպերատորի հետ նորև կոնստրուկտոր - Ամսաթիվ.
Օրինակ:
var myData=նոր ամսաթիվ();
Փոփոխական արժեք myDataկլինի ընթացիկ ամսաթիվը և ժամը.
Օբյեկտի մեթոդներ ԱմսաթիվԴուք կարող եք առանձին ստանալ ամսվա, շաբաթվա օրվա, ժամերի, րոպեների և վայրկյանների արժեքները.
- ստանալ ամսաթիվ- վերադարձնում է 1-ից 31-ի միջև ընկած թիվը, որը ներկայացնում է ամսվա օրը:
- ստանալԺամեր- վերադարձնում է օրվա ժամը 0-ից (կեսգիշեր) մինչև 23 միջակայքում:
- ստանալ րոպեներ- վերադարձնում է րոպեները 0-ից 59 միջակայքում:
- ստանալ վայրկյաններ- վերադարձնում է վայրկյանները 0-ից 59 միջակայքում:
javascript ամսաթիվը
Հիմա եկեք գրենք ֆունկցիան ինքնին nTime ():
ֆունկցիա nTime(obj) ( var t=new Date(); var h=t.getHours(); var m=t.getMinutes(); var s=t.getSeconds(); var արդյունք=h+":"+m+ ":"+s; obj.res.value=result;)
* ինչպես հիշում եք, մեթոդները օբյեկտից բաժանվում են կետով, մենք այս մասին խոսեցինք 3-րդ դասում *Ինչպես տեսնում եք, ամեն ինչ պարզ է. Սկզբում մենք որոշում ենք ընթացիկ ժամանակը, այնուհետև, օգտագործելով մեթոդներ, դրանից հանում ենք ժամերի, րոպեների և վայրկյանների անհատական արժեքները:Այստեղ ես կցանկանայի հստակեցնել գիծը var result=h+":"+m+":"+s. Առաջին անգամ մենք բախվեցինք արդյունքին ինչպես փոփոխական արժեքներ, այնպես էլ պարզ տեքստ դուրս բերելու անհրաժեշտության հետ: Սկզբունքորեն, ոչ մի բարդ բան չկա. փոփոխականները գրվում են այնպես, ինչպես կա, տեքստը վերցվում է չակերտների մեջ, իսկ նշանը. + կատարում է կապակցման գործողությունը, այսինքն. նրանց ասոցիացիաները:
Մեր օրինակում կար մեկ թերություն, մենք ուզում էինք, որ ժամանակը ցուցադրվի «hh:mm:ss» ձևաչափով, իսկ հիմա այն ցուցադրվում է «h:m:s» ձևաչափով։ Այսինքն՝ ժամը 5-ին ժամը կցուցադրվի «5:0:0», բայց ես կուզենայի այսպես՝ «05:00:00» (որն ավելի ծանոթ է): Ինչպես Տնային աշխատանքդուք կարող եք փորձել ուղղել այն: Օրինակ, օգտագործելով օպերատորը եթեիսկ տողը բառացի «0» (գաղափարը պարզ է. եթե ժամերը 10-ից պակաս են, ապա արդյունքում առաջ. հգրել «0» և այլն բոլոր փոփոխականներով):
Այդ ընթացքում շարունակենք ուսումնասիրել օբյեկտի մեթոդները Ամսաթիվ:
- ստանալ օր- վերադարձնում է շաբաթվա օրը որպես ամբողջ թիվ 0-ից (կիրակի) մինչև 6 (շաբաթ):
- ստանալ ամիս- վերադարձնում է տարվա ամսվա թիվը՝ որպես ամբողջ թիվ 0-ից (հունվար) մինչև 11-ը (դեկտեմբեր):
- getYear- վերադարձնում է տարին որպես վերջին երկու թվանշան ( getFullYearվերադարձնում է տարին որպես չորս նիշ):
* Ցավոք, 2000 թվականից ի վեր տարբեր բրաուզերներում տարին ցուցադրելու խնդիր կա: IE-ում getYear մեթոդը ցուցադրում է ամբողջ տարին (վերջին երկու թվանշանի փոխարեն), մինչդեռ FireFox-ը ցուցադրում է 1XX-ը՝ XX-ի փոխարեն (այսինքն՝ փոխարինում է 1-ին): Ուստի նախընտրելի է օգտագործել getFullYear մեթոդը։
html էջի կոդը պարզ կլինի.
javascript ամսաթիվը
Հիմա եկեք գրենք ֆունկցիան ինքնին tData ():
tData(obj) ֆունկցիա (var s; var t=new Date(); var y=t.getFullYear(); var d=t.getDate(); var mon=t.getMonth(); անջատիչ (երկ) (գործ. 0: s="հունվար"; ընդմիջում; դեպք 1: s="փետրվար"; ընդմիջում; դեպք 2: s="մարտ"; ընդմիջում; դեպք 3: s="ապրիլ"; ընդմիջում; դեպք 4: s="մայիս "; ընդմիջում; դեպք 5: s="հունիս"; ընդմիջում; դեպք 6: s="հուլիս"; ընդմիջում; դեպք 7: s="օգոստոս"; ընդմիջում; դեպք 8: s="սեպտեմբեր"; ընդմիջում; դեպք 9. : s="October"; break; case 10: s="November"; break; case 11: s="December"; break; ) var result=d+" "+s+" "+y; obj.res.value =արդյունք;)
Այն ավելի վավերական է ստացվել, քան առաջին օրինակում, քանի որ Պետք է ամիսների անունները թարգմանեմ ռուսերեն։
Վերևում քննարկված մեթոդները թույլ են տալիս ստանալ ամսաթիվը: Եթե մեզ անհրաժեշտ է ամսաթիվ սահմանել, ապա պետք է օգտագործվեն հետևյալ մեթոդները.
- setDate- սահմանում է ամսվա օրը 1-ից 31 միջակայքում:
- setHours- սահմանում է ժամը ընթացիկ ժամանակի համար 0-ից (կեսգիշեր) մինչև 23 միջակայքում:
- setMiutes- րոպեները սահմանում է 0-ից 59 միջակայքում:
- setseconds- սահմանում է վայրկյանները 0-ից 59 միջակայքում:
- սահմանելՏար- սահմանում է տարվա արժեքը.
- սահմանելԱմիս- սահմանում է ամսվա արժեքը 0-ից (հունվար) մինչև 11 (դեկտեմբեր) միջակայքում:
- setTime- սահմանում է օբյեկտի արժեքը Ամսաթիվեւ վերադարձնում է 1970 թվականի հունվարի 1-ից սկսած միլիվայրկյանների թիվը։
Vart=new Date(); var y=t.setYear(2010); vard=t.setDate(6); varmon=t.setMonth(11); ...
Դուք կարող եք ամսաթիվը սահմանել ուղղակիորեն կոնստրուկտորում՝ որպես պարամետր նշելով «ամիս, օր, տարի ժամեր՝ րոպեներ, վայրկյաններ» ձևաչափի տողը.
Var t=new Date("Feb, 10, 1975 5:45:10 PM");
Ժամերը, րոպեները և վայրկյանները կարող են բաց թողնել (դրանք զրոյական կլինեն).
Var t=new Date ("Feb, 10, 1975");
Նույն ամսաթիվը կարելի է սահմանել թվերի միջոցով՝ նշելով տարին, ամիսը, օրը, ժամերը, րոպեները, վայրկյանները՝ բաժանված ստորակետերով.
Var t=new Date(75, 1, 10, 17, 45, 10);
Կամ՝ բաց թողնելով ժամերը, րոպեները և վայրկյանները (դրանք զրոյական կլինեն).
Var t=new Date(75, 1, 10);
* Խնդիր կա. IE-ն չի ցանկանում ցուցադրել տարին, ուստի ավելի լավ է չօգտագործել այս տարբերակները:Այսքանը, դուք բավականին պատրաստ եք ինքներդ գրել սցենար, որը էջը բեռնելիս կցուցադրի այցելության ամսաթիվը, ժամը և օրը (սովորական ռուսերենով): Հաջողություն!
Ամսաթիվը և ժամը մեր մաս են կազմում Առօրյա կյանքև, հետևաբար, զգալի տեղ են զբաղեցնում ծրագրավորման մեջ: JavaScript-ում, վեբկայք ստեղծելիս, գուցե անհրաժեշտ լինի ավելացնել օրացույց, գնացքների ժամանակացույց կամ ինտերֆեյս՝ հանդիպումների պլանավորման համար: Այս հավելվածները պետք է ցույց տան համապատասխան ժամերը՝ ելնելով օգտագործողի ընթացիկ ժամային գոտուց, կամ կատարեն հաշվարկներ՝ կապված ինքնաթիռի ժամանման և մեկնման կամ իրադարձության մեկնարկի և ավարտի ժամերի հետ: Բացի այդ, ձեզ կարող է անհրաժեշտ լինել օգտագործել JavaScript՝ ամենօրյա հաշվետվություններ ուղարկելու համար որոշակի ժամանակկամ զտելու համար (օրինակ՝ որոշակի ժամերի բաց ռեստորաններ գտնելու համար):
ամսաթվի օբյեկտ
Ամսաթիվը ներկառուցված JavaScript օբյեկտ է, որը պահում է ամսաթիվը և ժամը: Այն տրամադրում է մի շարք ներկառուցված մեթոդներ այս տվյալների ձևաչափման և մանիպուլյացիայի համար:
Լռելյայնորեն, նոր Date օրինակը առանց արգումենտների ստեղծում է օբյեկտ ընթացիկ ամսաթվի և ժամի համաձայն համակարգի կարգավորումներըընթացիկ համակարգիչ:
Որպես օրինակ, փորձեք ընթացիկ ամսաթիվը վերագրել փոփոխականին: Ստեղծեք now.js ֆայլ:
// Սահմանել փոփոխականը ընթացիկ ամսաթվի և ժամի վրա
const now = new Date();
// դիտել ելքը
հիմա;
Չորք Հոկտ. 18 2017 12:41:34 GMT+0000 (UTC)
Արդյունքը ամսաթվի տող է, որը պարունակում է հետևյալ տվյալները.
Ամսաթիվը և ժամը բաժանված են և ցուցադրվում են հեշտ ընթեռնելի ձևով:
Այնուամենայնիվ, JavaScript-ը մեկնաբանում է ամսաթիվը` հիմնված Unix-ի ժամանակային դրոշմակնիքի վրա, որը մի արժեք է, որը բաղկացած է 1970 թվականի հունվարի 1-ի կեսգիշերից անցած միլիվայրկյանների քանակից: Դուք կարող եք ստանալ ժամանակի դրոշմը՝ օգտագործելով getTime() մեթոդը:
// Ստացեք ընթացիկ ժամադրոշմը
now.getTime();
1508330494000
Մեծ թիվը, որը հայտնվում է ելքում որպես ընթացիկ ժամանակի դրոշմակնիք, այն միլիվայրկյանների թիվն է, որն անցել է 1970 թվականի հունվարի 1-ի կեսգիշերից մինչև 2017 թվականի հոկտեմբերի 18-ը:
Զրոյական ժամանակը (կամ դարաշրջանի ժամանակը) ներկայացված է ամսաթվի տողով 01 հունվարի, 1970 00:00:00 Համընդհանուր ժամանակ (UTC) և ժամանակի դրոշմակնիք 0: Դուք կարող եք դա ստուգել դիտարկիչում՝ epoch.js ֆայլում ստեղծելով նոր փոփոխական: և դրան վերագրելով Date-ի նոր օրինակ՝ հիմնվելով 0-ի ժամանակի վրա:
// Նոր փոփոխականին նշանակեք ժամանակի դրոշմակնիք 0
const epochTime = նոր Ամսաթիվ (0);
դարաշրջան;
Հունվարի 01, 1970 00:00:00 Համընդհանուր ժամանակ (UTC)
Որպես համակարգիչներով ժամանակի չափման չափանիշ ընտրվել է զրոյական ժամանակը, և այս մեթոդն օգտագործվում է JavaScript-ում։ Կարևոր է հասկանալ ժամադրոշմները և ամսաթվերի տողերը, քանի որ այս հասկացությունները կարող են օգտագործվել՝ կախված հավելվածի կարգավորումներից և նպատակից:
Այժմ դուք գիտեք, թե ինչպես ստեղծել նոր Ամսաթիվ օրինակ՝ հիմնվելով ընթացիկ ժամանակի և ժամադրոշմի վրա: Ընդհանուր առմամբ JavaScript-ում կա ամսաթվի չորս ձևաչափ: Բացի լռելյայն ընթացիկ ժամից և ժամադրոշմից, կարող եք նաև օգտագործել ամսաթվի տող կամ նշել կոնկրետ ամսաթիվ և ժամ:
Ցույց տալու համար տարբեր ձևերովհղում կատարելով կոնկրետ ամսաթվի, փորձեք ստեղծել նոր Date օբյեկտներ, որոնք ներկայացնում են հուլիսի 4, 1776, 12:30 GMT երեք տարբեր ձևերով:
// ժամանակի դրոշմակնիքի մեթոդ
նոր Ամսաթիվ (-6106015800000);
// ամսաթվի տողերի մեթոդ
նոր ամսաթիվ («Հունվարի 31 1980 12:30»);
// ամսաթվի և ժամի մեթոդ
նոր ամսաթիվ (1776, 6, 4, 12, 30, 0, 0);
Այս բոլոր օրինակները ներկայացնում են նույն օրվա և ժամի տեղեկատվությունը երեք տարբեր ձևերով:
Ինչպես տեսնում եք, ժամանակի դրոշմակնիքի մեթոդը բացասական թիվ ունի. զրոյական ժամից առաջ ցանկացած ամսաթիվ կներկայացվի որպես բացասական թիվ:
Երրորդ օրինակում վայրկյանները և միլիվայրկյանները ներկայացված են 0-ով: Եթե Date օբյեկտը ստեղծելիս որևէ տվյալ բացակայում եք, ապա այն պետք է վերագրեք 0-ին: Բաց թողնված տվյալները չեն կարող բաց թողնել, քանի որ տողի ժամանակի տվյալների հերթականությունը չի համապատասխանում: փոփոխություն. Հարկ է նաև նշել, որ այստեղ հուլիս ամիսը նշանակված է որպես 6, այլ ոչ թե 7: Դա պայմանավորված է նրանով, որ հետհաշվարկը սկսվում է 0-ից, այլ ոչ թե 1-ից: Այս մասին ավելի մանրամասն՝ հաջորդ բաժնում:
Ժամադրության առբերում get-ի հետ
Ամսաթիվ ունենալուց հետո կարող եք մուտք գործել դրա բոլոր բաղադրիչները՝ օգտագործելով տարբեր ներկառուցված մեթոդներ: Մեթոդները վերադարձնում են ամսաթվի յուրաքանչյուր մասը՝ կապված տեղական ժամային գոտու հետ: Այս մեթոդներից յուրաքանչյուրը սկսվում է get-ով և վերադարձնում հարաբերական թիվ: Ստորև ներկայացված է Date օբյեկտի ստանալու մեթոդների մանրամասն աղյուսակ:
Ամսաթիվ Ժամ | Մեթոդ | Շրջանակ | Օրինակ |
Տարի | getFullYear () | YYYY | 1970 |
Ամիս | ստանալ ամիս () | 0-11 | 0 = հունվար |
Ամսվա օր | ստանալ ամսաթիվ () | 1-31 | 1 = ամսի 1-ին |
Շաբաթվա օր | getDay () | 0-6 | 0 = կիրակի |
Ժամ | getHours () | 0-23 | 0 = կեսգիշեր |
Րոպե | getMinutes () | 0-59 | |
Երկրորդ | ստանալ վայրկյաններ () | 0-59 | |
Միլվայրկյան | ստանալ Միլիվայրկյան () | 0-999 | |
ժամանակի դրոշմ | getTime () |
// Նախաձեռնել ծննդյան նոր օրինակ
const ծննդյան = նոր ամսաթիվ (1980, 6, 31);
Այժմ դուք կարող եք օգտագործել բոլոր մեթոդները՝ ամսաթվի յուրաքանչյուր բաղադրիչ հանելու համար:
birthday.getFullYear(); // 1980 թ
birthday.getMonth(); // 6
birthday.getDate(); // 31
birthday.getDay (); // չորս
birthday.getHours(); // 0
birthday.getMinutes(); // 0
birthday.getSeconds(); // 0
birthday.getMilliseconds(); // 0
birthday.getTime(); // 333849600000 (GMT-ի համար)
Երբեմն կարող է անհրաժեշտ լինել հանել ամսաթվի միայն մի մասը, և ներկառուցված get մեթոդները կօգնեն ձեզ այս հարցում:
Օրինակ՝ այսօրվա ամսաթիվը կարող եք համեմատել հոկտեմբերի 3-ի հետ՝ տեսնելու՝ հոկտեմբերի 3-ն է, թե ոչ:
// Ստացեք այսօրվա ամսաթիվը
const today = new Date();
// Համեմատե՛ք այսօր հոկտեմբերի 3-ի հետ
if (today.getDate() === 3 && today.getMonth() === 9) (
console.log ("Սա հոկտեմբերի 3-ն է");
) ուրիշ (
console.log ("Դա հոկտեմբերի 3-ը չէ");
}
Հոկտեմբերի 3-ը չէ։
Ներկառուցված ստանալու մեթոդները թույլ են տալիս մուտք գործել ամսաթվի բաղադրիչներ:
Ամսաթիվը փոխելով set-ով
Վերը թվարկված բոլոր ստացման մեթոդների համար կա համապատասխան հավաքածուի մեթոդ: Եթե get օգտագործվում է որոշակի ամսաթվի բաղադրիչ առբերելու համար, set-ն օգտագործվում է այդ բաղադրիչները փոխելու համար: Ստորև ներկայացված է Date օբյեկտի կարգավորող մեթոդների մանրամասն աղյուսակ:
Ամսաթիվ Ժամ | Մեթոդ | Շրջանակ | Օրինակ |
Տարի | setFullYear () | YYYY | 1970 |
Ամիս | setMonth () | 0-11 | 0 = հունվար |
Ամսվա օր | setDate () | 1-31 | 1 = ամսի 1-ին |
Շաբաթվա օր | setDay () | 0-6 | 0 = կիրակի |
Ժամ | setHours () | 0-23 | 0 = կեսգիշեր |
Րոպե | setMinutes () | 0-59 | |
Երկրորդ | setseconds () | 0-59 | |
Միլվայրկյան | setMilliseconds () | 0-999 | |
ժամանակի դրոշմ | setTime () | Զրոյական ժամանակից միլիվայրկյանների թիվը |
Այս հավաքածուի մեթոդները կարող են օգտագործվել ամսաթվի մեկ կամ մի քանի բաղադրիչ փոխելու համար: Օրինակ՝ ծննդյան փոփոխականում կարող եք տարին փոխել մինչև 1997 թվական:
// Փոխել ծննդյան տարեթիվը
birthday.setFullYear (1997);
ծննդյան օր;
Հինգ, հուլիսի 31, 1997 00:00:00 GMT+0000 (UTC)
Այժմ, երբ զանգում եք ծննդյան փոփոխականը, տեսնում եք ոչ թե 1980, այլ 1997 թվական:
Ներկառուցված հավաքածուի մեթոդները թույլ են տալիս փոխել Date օբյեկտի տարբեր մասերը:
UTC մեթոդներ
Ստանալու մեթոդները, որոնք նկարագրված են վերևում, առբերում են ամսաթվի բաղադրիչները՝ հիմնվելով տեղական կարգավորումներօգտագործողի ժամային գոտին. Ամսաթվերի և ժամերի նկատմամբ վերահսկողությունը մեծացնելու համար կարող եք օգտագործել getUTC մեթոդները, որոնք աշխատում են նույնը, ինչ ստացման մեթոդները, բայց ժամանակը հաշվարկում են UTC (համակարգված համընդհանուր ժամանակ) ստանդարտի հիման վրա։ Ստորև բերված է JavaScript-ում Date օբյեկտի UTC մեթոդների աղյուսակը:
Ամսաթիվ Ժամ | Մեթոդ | Շրջանակ | Օրինակ |
Տարի | getUTCFullYear () | YYYY | 1970 |
Ամիս | getUTCMonth() | 0-11 | 0 = հունվար |
Ամսվա օր | getUTCDate () | 1-31 | 1 = ամսի 1-ին |
Շաբաթվա օր | getUTCDday () | 0-6 | 0 = կիրակի |
Ժամ | getUTCHours () | 0-23 | 0 = կեսգիշեր |
Րոպե | getUTCMinutes () | 0-59 | |
Երկրորդ | getUTCSecons() | 0-59 | |
Միլվայրկյան | getUTCMilliseconds() | 0-999 |
Տեղական ստացողների և UTC ստացողների միջև տարբերությունը ստուգելու համար գործարկեք հետևյալ կոդը.
// Նշանակել ընթացիկ ժամանակը փոփոխականին
const now = new Date();
// Տպել տեղական և UTC ժամային գոտիները
console.log (now.getHours());
console.log(now.getUTCHours());
Այս կոդը կտպագրի ընթացիկ ժամը և ժամը UTC ժամային գոտում: Եթե դուք ներկայումս գտնվում եք UTC ժամային գոտում, ապա այն թվերը, որոնք կցուցադրի ծրագիրը, նույնը կլինեն:
UTC-ն ապահովում է միջազգային ստանդարտժամանակը և, հետևաբար, կարող է կոդը պահել ժամանակային գոտիներին համապատասխան, եթե անհրաժեշտ է ձեր ծրագրում:
Եզրակացություն
Այս ձեռնարկում դուք սովորեցիք, թե ինչպես օրինականացնել Date օբյեկտը, ինչպես օգտագործել դրա ներկառուցված մեթոդները՝ տվյալ ամսաթվի բաղադրիչները մուտք գործելու և փոփոխելու համար: JavaScript-ում ժամի և ամսաթվի մասին լրացուցիչ տեղեկություններ կարելի է գտնել Mozilla Developer Network-ում:
Ամսաթվերի հետ աշխատելու իմացությունը կարևոր է JavaScript-ում շատ սովորական առաջադրանքների համար՝ կանոնավոր հաշվետվություններ ստեղծելուց մինչև ճիշտ ժամային գոտում ամսաթվերի և ժամանակացույցերի ցուցադրումը:
Tags:JavaScript-ում ամսաթվերի և ժամերի հետ աշխատելու համար կա հատուկ օբյեկտ՝ Date: Այս օբյեկտը աջակցվում է JavaScript-ի գրեթե բոլոր տարբերակներով, և այն կարող է օգտագործվել անկախ համատեղելիության խնդիրներից:
Ամսաթիվը և ժամը Date օբյեկտում բացահայտորեն չեն պահվում, այլ, ինչպես ծրագրավորման լեզուների մեծ մասում, որպես Unix-ի ծնունդից անցած միլիվայրկյանների թիվը, այսինքն. հունվարի 1-ի ժամը 0000-ից 1970 թ. Date օբյեկտի տարբերակիչ առանձնահատկությունն այն է, որ միջակայքի բոլոր արժեքներն ունեն զրոյական ինդեքսներ: Սա նշանակում է, որ հունվարը կունենա 0 ինդեքս (ամիս #0), իսկ դեկտեմբերը տասներկուերորդի փոխարեն կլինի տասնմեկերորդ ամիսը։ Նույնը վերաբերում է շաբաթվա օրերին, ժամերին, րոպեներին և այլն:
Date օբյեկտ ստեղծելը շատ պարզ է.
// ընթացիկ ամսաթիվ-ժամ var date = new Date(); // ամսաթիվ-ժամ՝ տողից կամ թվից var date = new Date(date); // ամսաթիվ-ժամը առանձին արժեքներից var date = new Date (տարի, ամիս, օր, ժամ, րոպե, վայրկյան, միլիվայրկյան);
Ամսաթիվ օբյեկտն ունի մի շարք շատ օգտակար մեթոդներ, որոնք թույլ են տալիս աշխատել առանձին ամսաթիվ-ժամային բաղադրիչների հետ, ինչպես նաև ստուգել ճշգրտությունը և ճիշտ ցուցադրել ամսաթիվը տվյալ ձևաչափով:
Ամսաթիվ-ժամային բաղադրիչների առբերման մեթոդներ | |
getFullYear | Վերադարձնում է տարին (օրինակ՝ 2011 թ.)։ |
getYear | Վերադարձնում է տարին։ GetYear մեթոդի նպատակը նույնն է, ինչ getFullYear-ը, սակայն այս մեթոդը հնացած է և խորհուրդ չի տրվում օգտագործել, քանի որ դրա աշխատանքի արդյունքները միանշանակ չեն. 1900-ից 1999 թվականների ամսաթվերի համար մեթոդը վերադարձնում է տարվա թիվը դարում (երկանիշ, օրինակ՝ 77), իսկ այս միջակայքից դուրս ամսաթվերի համար լրիվ արժեքը վերադարձված (քառանիշ, օրինակ 2009 թ.): |
ստանալ ամիս | Վերադարձնում է ամիսը։ |
ստանալ ամսաթիվ | Վերադարձնում է ամսվա օրը (ամսվա թիվը): |
ստանալԺամեր | Վերադարձնում է ժամը։ |
ստանալ րոպեներ | Վերադարձնում է րոպեն։ |
ստանալ վայրկյաններ | Վերադարձնում է վայրկյան: |
ստանալ Միլիվայրկյաններ | Վերադարձնում է միլիվայրկյան: |
ստանալ օր | Վերադարձնում է շաբաթվա օրվա թիվը։ |
getTime | Վերադարձնում է օբյեկտի կողմից պահված միլիվայրկյան շեղումը: |
Ամսաթիվ-ժամային բաղադրիչները փոխելու մեթոդներ | |
setFullYear | Սահմանում է տարին: |
սահմանելՏար | Սահմանում է տարին: SetYear մեթոդի նպատակը նման է setFullYear-ի նպատակին, սակայն այս մեթոդը հնացած և հնացած է (ինչպես getYear մեթոդը): |
սահմանելԱմիս | Սահմանում է ամիսը: |
setDate | Ամսաթիվը սահմանում է ամսվա (ամսվա օրը): |
setHours | Սահմանում է ժամը: |
setMiutes | Սահմանում է րոպե: |
setseconds | Սահմանում է երկրորդը: |
setMilliseconds | Սահմանում է միլիվայրկյան: |
setTime | Սահմանում է միլիվայրկյան շեղում 00:00:00-ի համեմատ 01/01/1970 թ. |
Ձևաչափման և ամսաթիվ-ժամ ելքային գործառույթներ | |
toString | Վերադարձնում է ամսաթվի և ժամի լարային ներկայացում: |
toUTCString | Վերադարձնում է UTC ժամանակի փոխարկված ամսաթվի և ժամի լարային ներկայացում: Վերադարձված տողի ձևաչափը հարգում է ինտերնետի բոլոր ստանդարտները: |
դեպի GMTString | Վերադարձնում է GMT-ի (Գրինվիչի միջին ժամանակ) փոխարկված ամսաթվի և ժամի լարային ներկայացում։ Վերադարձված տողի ձևաչափը հարգում է ինտերնետի բոլոր ստանդարտները: |
դեպիLocaleString | Նման է toString-ին, բայց վերադարձնում է ամսաթվի և ժամի տողային ներկայացում, որը ձևաչափված է ըստ օգտագործողի տեղանքի: |
toTimeString | Վերադարձնում է ժամանակի լարային ներկայացում (տողը պարունակում է միայն ժամանակը): |
toDateString | Վերադարձնում է ամսաթվի տողի ներկայացումը (տողը պարունակում է միայն ամսաթիվը): |
դեպիLocaleTimeString | Նման է toTimeString-ին, բայց վերադարձնում է ժամանակի տողային ներկայացում, որը ձևաչափված է ըստ օգտագործողի տեղանքի: |
toLocaleDateString | Նման է toDateString-ին, բայց վերադարձնում է ամսաթվի տողային ներկայացում, որը ձևաչափված է ըստ օգտագործողի տեղանքի: |
Լրացուցիչ գործառույթներ | |
getTimezoneOffset | Վերադարձնում է օգտատիրոջ համակարգչի տեղական ժամանակի շեղումը UTC-ի համեմատ: Օֆսեթը վերադարձվում է րոպեների ընթացքում: |
վերլուծել | Ֆունկցիան թույլ է տալիս ստուգել տողի տեսքով գրված ամսաթվի ճիշտությունը: Եթե տողը ճիշտ է, ապա անմիջապես կստեղծվի Date օբյեկտ: |
Date օբյեկտը պարունակում է նաև UTC ամսաթվերի հետ աշխատելու մի շարք մեթոդներ: Այս գործառույթները լիովին նման են արդեն դիտարկվածներին, բայց դրանք պարունակում են «UTC» նախածանցը անվանման մեջ և աշխատում են միայն «ունիվերսալ» ժամանակով՝ getUTCSeconds, setUTCFullYear և այլն։
Դիտարկենք ամսաթվերի հետ աշխատելու օրինակ.
Եվ ահա այս սցենարի արդյունքը.
Ինչպես տեսնում եք, ամսաթվի ներկայացումը զգալիորեն տարբերվում է՝ կախված օգտագործված ձևաչափից: Հետևաբար, ամսաթվի հետ աշխատելիս պետք է հետևել մի քանի պարզ կանոնների.
1. Եթե հնարավոր է, օգտագործեք UTC կամ GMT ձևաչափերը: Սա հատկապես կարևոր է բաշխված լուծումներ ստեղծելիս (օրինակ՝ հաճախորդներ վճարային համակարգեր) Ընդհանուր հղման ժամանակի օգտագործումը ձեզ երաշխիքներ կտա (թեև ոչ հարյուր տոկոսով), որ և՛ դուք, և՛ ձեր հեռավոր գործընկերը նույն կերպ կմեկնաբանեք ստացված տվյալները:
2. Իմաստ ունի օգտագործել տեղայնացված ամսաթիվը և ժամը միայն դրանք օգտագործողին ցուցադրելիս: Մնացած բոլոր դեպքերում ավելի լավ է հրաժարվել տեղայնացված տվյալներից։
3. Եթե դուք դեռ պետք է օգտագործեք տեղական ամսաթիվը և ժամը, մի մոռացեք հաշվի առնել տեղական ժամանակի շեղումը հղման ժամանակի համեմատ (UTC կամ GMT):
Այս կանոններին հետևելը կազատի ձեզ տրամաբանական սխալներից և թերություններից, ինչը նշանակում է, որ ձեր կոդը ավելի կայուն և որակյալ կդարձնի:
Օգտագործեք new Date()՝ ընթացիկ ամսաթիվը և ժամը պարունակող նոր Date օբյեկտ ստեղծելու համար:
նշեք, որԱմսաթիվ () կանչված առանց արգումենտների համարժեք էնոր ամսաթիվ (ամսաթիվ. այժմ ()) .
Երբ դուք ունեք ամսաթվի օբյեկտ, կարող եք օգտագործել մի քանի մատչելի մեթոդներից որևէ մեկը՝ դրա հատկությունները ստանալու համար (օրինակ՝ getFullYear()՝ 4 նիշանոց տարի ստանալու համար):
Ստորև բերված են ամսաթվի մի քանի ընդհանուր մեթոդներ:
Ստացեք ընթացիկ տարին
var տարի = (new Date()).getFullYear(); վահանակի մատյան (տարի); // Նմուշի արդյունք՝ 2016թՍտացեք ընթացիկ ամիսը
var ամիս = (նոր Ամսաթիվ()).getMonth(); վահանակի մատյան (ամիս); // նմուշի ելք՝ 0Նշենք, որ 0 = հունվար: Դա պայմանավորված է նրանով, որ ամիսները տարբերվում են 0 նախքան 11 , ուստի հաճախ ցանկալի է ինդեքսին ավելացնել +1։
Ստացեք ընթացիկ օրը
varday = (new Date()).getDate(); վահանակի մատյան (օր); // նմուշի ելք՝ 31Ստացեք ընթացիկ ժամը
var ժամ = (նոր Ամսաթիվ()).getHours(); վահանակի մատյան (ժամեր); // նմուշի ելք՝ 10Ստացեք ընթացիկ րոպեները
var րոպե = (նոր Ամսաթիվ()).getMinutes(); վահանակի մատյան (րոպե); // նմուշի ելք՝ 39Ստացեք ընթացիկ վայրկյանները
var seconds = (new Date()).getSeconds(); վահանակի մատյան (երկրորդ); // նմուշի ելք՝ 48Ստացեք ընթացիկ միլիվայրկյանները
Date օբյեկտի օրինակի միլիվայրկյանները (0-ից 999) ստանալու համար օգտագործեք getMilliseconds մեթոդը:
var milliseconds = (new Date()).getMilliseconds(); վահանակի մատյան (միլիվայրկյաններ); // Արդյունք՝ միլիվայրկյաններ հենց հիմա
Ընթացիկ ժամանակը և ամսաթիվը փոխարկեք մարդու համար ընթեռնելի տողի
varnow = նոր Ամսաթիվ (); // փոխարկել ամսաթիվը UTC ժամային գոտու ձևաչափով տողի՝ console.log(now.toUTCString()); // Արդյունք՝ չորեքշաբթի, 21 հունիսի 2017 09:13:01 GMTՍտատիկ Date.now() մեթոդը վերադարձնում է միլիվայրկյանների թիվը 1970 թվականի հունվարի 1-ից 00:00:00 UTC: Այն ժամանակից ի վեր անցած միլիվայրկյանների թիվը ստանալու համար Date օբյեկտի օրինակով, օգտագործեք դրա getTime մեթոդը:
// ստանալ միլիվայրկյաններ՝ օգտագործելով Date console.log(Date.now()-ի ստատիկ մեթոդը հիմա: // ստանալ միլիվայրկյաններ՝ օգտագործելով getTime of Date մեթոդը console.log((new Date()).getTime());