📅
ነፃ የቀን ልዩነት ማስያ
በሁለት ቀናት መካከል ያለውን ትክክለኛ ልዩነት ያሰሉ — ዓመታት፣ ወራት፣ ቀናት፣ ሳምንታት፣ የስራ ቀናት (ቅዳሜና እሁድን ሳይጨምር)፣ ሰዓቶችና ደቂቃዎች።
ከተጫነ በኋላ ከመስመር ውጭ ይሠራል
ፈጣን ቅድመ ማዋቀሮች
ልዩነቱን ለማየት ሁለቱንም ቀናት ይምረጡ።
እንዴት እንደሚሠራ
ሁሉም ስሌት በእጅ በተጻፈ የUTC ሒሳብ ሙሉ በሙሉ በአሳሹ ውስጥ ይሠራል — ምንም ውጫዊ ላይብረሪ፣ ምንም የአገልጋይ ጥያቄ የለም። መሣሪያው YYYY-MM-DD ሕብረቁምፊዎችን ወደ የቀን መቁጠሪያ ክፍሎች ይተነትናል፣ የቀን ብርሃን ቁጠባ መንሸራተትን ለማስወገድ ልዩነቶችን በDate.UTC() የሚሊሰከንድ ጊዜ ማህተሞች ያሰላል፣ እና ከሰኞ–ዓርብ ያሉ የሥራ ቀናትን ለመቁጠር ቀን በቀን ይሄዳል።
- 1ደህንነቱ የተጠበቀ የቀን ትንተናእያንዳንዱ የቀን ሕብረቁምፊ በregex ይረጋገጣል ከዚያም በDate.UTC() እንደገና ይገነባል — በnew Date(string) አይደለም — ስለዚህ ከUTC በስተምዕራብ ያሉ ተጠቃሚዎች አሳሹ ቀን-ብቻ ግቤቶችን በአካባቢው የሰዓት ዞን በመተርጎሙ ምክንያት የሳምንቱ ቀን ሲንሸራተት በጭራሽ አያዩም።
- 2የUTC ሚሊሰከንድ መቀነስሁለቱ ቀናት በDate.UTC(y, m, d) ወደ UTC እኩለ ሌሊት ጊዜ ማህተሞች ይቀየራሉ። በ86,400,000 ms የሙሉ ቁጥር ክፍፍል ትክክለኛ የሙሉ ቀናት ቆጠራ ይሰጣል፤ ይህም አንድ ቀን 23 ወይም 25 ሰዓት እንዲመስል ሊያደርጉ ከሚችሉ የቀን ብርሃን ቁጠባ ሽግግሮች ነፃ ነው።
- 3የቀን መቁጠሪያ ዝርዝር እና የሥራ ቀናት ቆጠራበእጅ የተጻፈ የዓመት/የወር/የቀን ክፍፍል የወራትን ርዝመት ልዩነቶች ያስተናግዳል (ሲያስፈልግ ከቀደመው ወር ቀናትን በመበደር)። የተለየ ዑደት በሁለቱ ቀናት መካከል ያለውን እያንዳንዱን የUTC ቀን ያልፋል እና ለሰኞ–ዓርብ ብቻ (getUTCDay() !== 0 or 6) ቆጣሪውን ይጨምራል፤ ይህም ቋንቋ ምንም ይሁን ምን ትክክለኛ የሥራ ቀናት ድምር ይሰጣል።
- 4ውጤቶቹ በሁሉም አሃዶች ይታያሉድምሮቹ ለቋንቋው የሚስማማ የአሃዝ አከፋፈል እንዲኖራቸው የገጹን ቋንቋ በመጠቀም በtoLocaleString() ይቀረጻሉ፣ ከዚያም በአንድ ጊዜ እንደ ዓመት/ወር/ቀን፣ ጠቅላላ ቀናት፣ የሥራ ቀናት፣ ሳምንታት፣ ሰዓታት እና ደቂቃዎች ይታያሉ። አሁን ያለው የቀናት ጥንድ በhistory.replaceState ወደ URL ይጻፋል፤ ስለዚህ ማንኛውንም ውጤት ዕልባት ማድረግ ወይም እንደ ቀጥተኛ አገናኝ ማጋራት ይቻላል።