Անցնել հիմնական բովանդակությանը

Ամսաթվի տարբերության հաշվիչ անվճար

Հաշվեք ճշգրիտ տարբերությունն երկու ամսաթվի միջև — տարիներ, ամիսներ, օրեր, շաբաթներ, աշխատանքային օրեր (բացառությամբ հանգստյան), ժամեր ու րոպեներ:

Աշխատում է անցանց՝ բեռնվելուց հետո

Արագ կաղապարներ

Ընտրեք երկու ամսաթիվ՝ տարբերությունը տեսնելու համար:

Տարածված կիրառություններ

  • Հաշվել օրեր մինչև ծննդյան ամսաթիվՀաշվել հետ դեպի տղայի ծննդյան ամսաթիվ - բացահայտ ճիշտ թե քանի շաբաթ, օր, ժամ մեծ օրը:
  • Օրեր ձեր տալ համարՀաշվել հետ ձեր շրջայց հետ աշխատանքային օր, ընդամեն օր եւ շաբաթ մնացել պլանավորման համար:
  • Աշխատանքային օր պայմանի նշանակման համարՀաշվել նման աշխատանքային օր (բացառությամբ կիրակի) մեջ այսօր եւ մի նիշ:
  • Հաշվել ծննդյան ամսաթիվ մեկ միասինԲացահայտ ճիշտ թե քանի օր, ամիս եւ տարի դուք արել ենք հետ մեկ հատուկ:
  • Տարիքային միջակայք հաշվիչ հետ կա մեկ այլ մարդՀաշվել ճիշտ տարիքային տարբերությունը հետ երկու ծննդյան ամսաթիվ - տարի, ամիս եւ օր:

Ինչպես է այն աշխատում

Ամբողջ հաշվարկը լիովին աշխատում է դիտարկիչում՝ ձեռագիր UTC թվաբանությամբ — ոչ մի արտաքին գրադարան, ոչ մի սերվերային հարցում։ Գործիքը վերլուծում է YYYY-MM-DD տողերը օրացուցային բաղադրիչների, հաշվարկում է տարբերությունները Date.UTC() միլիվայրկյանային ժամադրոշմերով՝ DST շեղումից խուսափելու համար, և կրկնողում է օր առ օր՝ երկուշաբթիից ուրբաթ աշխատանքային օրերը հաշվելու համար։

  1. 1
    Անվտանգ ամսաթվի վերլուծություն
    Յուրաքանչյուր ամսաթվի տող վավերացվում է regex-ով և ապա վերակառուցվում Date.UTC()-ով — ոչ թե new Date(string)-ով — որպեսզի UTC-ից արևմուտք գտնվող օգտագործողները երբեք չտեսնեն շաբաթվա օրվա շեղում, որն առաջանում է դիտարկիչի տեղական-ժամային-գոտու մեկնաբանությունից՝ միայն-ամսաթվային մուտքագրումների համար։
  2. 2
    UTC միլիվայրկյանային հանում
    Երկու օրացուցային ամսաթվերը փոխարկվում են UTC կեսգիշերվա ժամադրոշմերի Date.UTC(y, m, d)-ով։ 86,400,000 մվ-ի ամբողջաթիվ բաժանումը տալիս է ուղիղ ամբողջ-օրվա հաշվարկ, որն անձեռնմխելի է ամառային-ժամի անցումներից, որոնք հակառակ դեպքում կարող են օրը 23 կամ 25 ժամ երկարություն ստիպել թվալ։
  3. 3
    Օրացուցային բաշխում և աշխատանքային-օրվա հաշվարկ
    Ձեռագիր տարի/ամիս/օր վերլուծությունը մշակում է ամսվա-երկարության անկանոնությունները (անհրաժեշտության դեպքում փոխառելով օրեր նախորդ ամսից)։ Առանձին ցիկլը քայլում է յուրաքանչյուր UTC օրով երկու ամսաթվերի միջև և ավելացնում հաշվիչը միայն երկուշաբթի–ուրբաթ (getUTCDay() !== 0 կամ 6)՝ ուղիղ աշխատանքային-օրվա ընդհանուր գումար արտադրելով՝ անկախ տեղանքից։
  4. 4
    Արդյունքները ցուցադրվում են բոլոր միավորներով
    Ընդհանուր գումարները ձևաչափվում են toLocaleString()-ով՝ օգտագործելով էջի տեղանքը՝ տեղանք-զգայուն թվանշանների խմբավորման համար, ապա ցուցադրվում են միաժամանակ որպես տարիներ/ամիսներ/օրեր, ընդհանուր օրեր, աշխատանքային օրեր, շաբաթներ, ժամեր և րոպեներ։ Ընթացիկ ամսաթվային զույգը գրվում է URL-ում history.replaceState-ով, որպեսզի ցանկացած արդյունք կարողանա էջանշվել կամ կիսվել որպես ուղղակի հղում։

Առնչվող գործիքներ

Հաճախակի տրվող հարցեր