Негізгі мазмұнға өту

Күн айырмашылығы есептегіші — тегін

Екі күн арасындағы нақты айырмашылықты есептеңіз — жылдар, айлар, күндер, аптылар, жұмыс күндері (демалыс күндерін қоспағанда), сағаттар және минуттар.

Жүктелгеннен кейін офлайн жұмыс істейді

Жылдам алдын ала параметрлер

Айырмасын көру үшін екі күндеді таңдаңыз.

Жиі қолданылуы

  • Туу Таңдарына Дейін Күндерін ЕсептеңізСәбидің туу күніне дейін санау - үлкен күнге дейін неше апта, күн және сағат болатынын білініңіз.
  • Демалыс Үшін КүндерСапарыңызға дейін жұмыс күндері, барлық күндер және қалғаны апта деген ұрақтар үшін санау аңдаңыз.
  • Жоба Мезгілініне Дейін Жұмыс КүндеріБүгін және жобаның мезгілінің арасында дәл жұмыс күндерінің санын (апталық) есептеңіз.
  • Туу Күн Үлесін Хизметінің Күндерін ЕсептеңізЕң болса ерекше адамымен неше күн, ай және жыл бір құрамымен болатынын білініңіз.
  • Екі Адамның Арасындағы Жас Айырмасы ЕсептегішЕкі туу күнінің арасындағы дәл жас айырмасын есептеңіз - жылдар, айлар және күндері.

Қалай жұмыс істейді

Барлық есептеу қолмен жазылған UTC арифметикасы арқылы толығымен браузерде жүреді — сыртқы кітапхана жоқ, серверлік сұрау жоқ. Құрал YYYY-MM-DD жолдарын күнтізбе құрамдастарына талдайды, күн жарық үнемдеу жылжуын болдырмау үшін Date.UTC() миллисекунд уақыт белгілерін пайдаланып айырмашылықтарды есептейді және дүйсенбі-жұма жұмыс күндерін санау үшін күн бойынша қайталайды.

  1. 1
    Қауіпсіз күнді талдау
    Әр күн жолы тұрақты өрнекпен тексеріледі, содан кейін new Date(string) емес, Date.UTC() арқылы қайта құрылады — сондықтан UTC-тен батысқа қарай орналасқан пайдаланушылар браузердің тек-күн кірістерін жергілікті уақыт белдеуімен түсіндіруінен туындаған апта күні жылжуын ешқашан көрмейді.
  2. 2
    UTC миллисекунд алу
    Екі күнтізбелік күн Date.UTC(y, m, d) арқылы UTC түн ортасы уақыт белгілеріне түрленеді. 86,400,000 мс-ке бүтін бөлу басқаша күнді 23 немесе 25 сағаттай көрсетуі мүмкін жаз/қыс уақытына ауысулардан иммунитеті бар дәл толық күн санын береді.
  3. 3
    Күнтізбелік бөлу және жұмыс күнін санау
    Қолмен жазылған жыл/ай/күн ыдырауы (қажет болғанда алдыңғы айдан күн қарызға алу арқылы) ай ұзақтығы тұрақсыздықтарын өңдейді. Бөлек цикл екі күн арасындағы әр UTC күнін аралап, тек дүйсенбі-жұма (getUTCDay() !== 0 немесе 6) үшін санауышты арттырады, локальге қарамастан дәл жұмыс күні жиынтығын шығарады.
  4. 4
    Барлық бірлікте көрсетілген нәтижелер
    Жиынтықтар локальге сезімтал сан топтастыру үшін бет локалін пайдаланып toLocaleString() арқылы пішімделеді, содан кейін бір мезгілде жыл/ай/күн, жалпы күн, жұмыс күні, апта, сағат және минут ретінде көрсетіледі. Ағымдағы күн жұбы history.replaceState арқылы URL-ге жазылады, сондықтан кез келген нәтижені бетбелгіге қосуға немесе тікелей сілтеме ретінде бөлісуге болады.

Байланысты құралдар

Жиі қойылатын сұрақтар