তারিখ গণনা হলো দুটি ক্যালেন্ডার তারিখের মধ্যে পার্থক্য বের করার বা একটি নির্দিষ্ট তারিখ থেকে কোনো সময়কাল যোগ বা বিয়োগ করার প্রক্রিয়া। অনলাইন তারিখ ক্যালকুলেটর ব্যবহার করে আপনি ম্যানুয়ালি গণনা না করেই যেকোনো দুটি তারিখের মধ্যে সঠিক দিন, সপ্তাহ, মাস এবং বছরের সংখ্যা নির্ধারণ করতে পারবেন। এটি প্রজেক্ট পরিকল্পনা, চুক্তি আইন, আর্থিক হিসাব এবং সফটওয়্যার উন্নয়নে কাজে আসে।
তারিখ গণনার জটিলতা আসে গ্রেগরিয়ান ক্যালেন্ডারের অনিয়মিত গঠন থেকে। মাসে ২৮, ২৯, ৩০ বা ৩১ দিন থাকে। অধিবর্ষের নিয়ম অনুযায়ী বছরে ৩৬৫ বা ৩৬৬ দিন হয়। দিন সংখ্যার সরল বিয়োগ ভুল ফলাফল দেয় যখন তারিখগুলো ভিন্ন মাস বা বছর জুড়ে থাকে। সঠিক তারিখ পার্থক্য অ্যালগরিদমকে প্রতিটি ক্যালেন্ডার একক আলাদাভাবে গণনা করে এই অনিয়মগুলো মোকাবেলা করতে হয়।
ডেট অ্যারিথমেটিক অনেক প্রোগ্রামিং কাজে লাগে: টোকেনের মেয়াদ শেষ হওয়ার সময় গণনা, পুনরাবৃত্তিমূলক ইভেন্ট নির্ধারণ, SLA সময়সীমা হিসাব, বা লগ এন্ট্রির মধ্যে অতিবাহিত সময় পরিমাপ। DevOps কাজের প্রবাহে এটি ক্রেডেনশিয়ালের মেয়াদ শেষের সময়, ডিপ্লয়মেন্ট ফ্রিজের সময়কাল এবং অন-কল রোটেশনের দৈর্ঘ্য হিসেবে সামনে আসে। বেশিরভাগ প্রোগ্রামিং ভাষায় তারিখ লাইব্রেরি থাকলেও, ব্রাউজার-ভিত্তিক ক্যালকুলেটর কোড লেখা, ডিপেন্ডেন্সি ইনস্টল করা বা REPL খোলা ছাড়াই দ্রুত যাচাইয়ের জন্য তাৎক্ষণিক উত্তর দেয়।
এই তারিখ ক্যালকুলেটর কেন ব্যবহার করবেন?
যেকোনো দুটি তারিখের মধ্যে সময়ের তাৎক্ষণিক বিশ্লেষণ পান, একসাথে একাধিক ইউনিটে ফলাফল দেখুন। কোনো সূত্র নেই, কোনো কোড নেই, কোনো নিবন্ধন নেই।
⚡
তাৎক্ষণিক ফলাফল
দুটি তারিখ বাছুন এবং বছর, মাস, সপ্তাহ, দিন, ঘণ্টা ও মিনিটে পার্থক্য দেখুন। যেকোনো তারিখ পরিবর্তন করলেই ফলাফল আপডেট হয়।
🔒
গোপনীয়তা-প্রথম
সব গণনা আপনার ব্রাউজারেই চলে। কোনো তারিখ কোনো সার্ভারে পাঠানো হয় না এবং কিছুই সংরক্ষিত বা লগ করা হয় না।
📅
একাধিক আউটপুট ইউনিট
একসাথে প্রতিটি ইউনিটে ফলাফল দেখুন: মোট দিন, সপ্তাহ, মাস এবং সম্পূর্ণ বছর-মাস-দিনের বিশ্লেষণ। নিজে ইউনিট রূপান্তর করার দরকার নেই।
🔢
কোনো অ্যাকাউন্ট প্রয়োজন নেই
সরাসরি টুলটি ব্যবহার করুন। কোনো লগইন নেই, কোনো সাবস্ক্রিপশন নেই, কোনো ব্যবহার সীমা নেই। বুকমার্ক করুন এবং যখনই দ্রুত তারিখ যাচাই দরকার ব্যবহার করুন।
তারিখ ক্যালকুলেটরের ব্যবহারের ক্ষেত্র
ফ্রন্টেন্ড ডেভেলপমেন্ট
একটি ফিচার লঞ্চ তারিখ পর্যন্ত কত দিন আছে তা যাচাই করুন, কাউন্টডাউন টাইমার লজিক পরীক্ষা করুন, বা প্রত্যাশিত ব্যবধানের বিপরীতে ডেট পিকার কম্পোনেন্ট পরীক্ষা করুন।
ব্যাকেন্ড ইঞ্জিনিয়ারিং
টোকেন মেয়াদ শেষের সময়সীমা যাচাই করুন, ক্যাশ TTL এর সময়কাল গণনা করুন, বা যাচাই করুন যে নির্ধারিত কাজের ব্যবধান সঠিক পরবর্তী চালানোর তারিখ তৈরি করে।
DevOps ও SRE
পোস্ট-মর্টেমে ঘটনার টাইমস্ট্যাম্পের মধ্যে ব্যবধান পরিমাপ করুন, সার্টিফিকেটের মেয়াদ শেষের সময় গণনা করুন, বা ছুটির সময় ডিপ্লয়মেন্ট ফ্রিজের সময়কাল নির্ধারণ করুন।
QA ও পরীক্ষা
নির্দিষ্ট তারিখের অফসেট সহ পরীক্ষার ডেটা তৈরি করুন, জন্ম তারিখ থেকে সঠিক বয়স গণনা করে বয়স-যাচাই লজিক পরীক্ষা করুন, বা নিশ্চিত করুন যে তারিখের সীমানার শর্তগুলো সঠিকভাবে পরিচালিত হচ্ছে।
প্রজেক্ট ম্যানেজমেন্ট
স্প্রিন্টের সময়কাল গণনা করুন, মাইলস্টোনের মধ্যে কার্যদিবসের সংখ্যা পরিমাপ করুন, বা শুরুর তারিখ থেকে ক্যালেন্ডার দিন গণনা করে ডেলিভারির সময়সীমা অনুমান করুন।
শিক্ষার্থী ও শিক্ষা
পরীক্ষা পর্যন্ত দিন গণনা করুন, সেমিস্টারের দৈর্ঘ্য হিসাব করুন, বা কম্পিউটার সায়েন্স কোর্সে ডেট অ্যারিথমেটিকের হোমওয়ার্কের উত্তর যাচাই করুন।
তারিখ সময়কালের একক রেফারেন্স
তারিখ পার্থক্য গণনায় বিভিন্ন দৈর্ঘ্যের একক জড়িত। মাস এবং বছর নির্দিষ্ট সময়কাল নয়, তাই মোট দিনের সরল ভাগ ভুল ফলাফল দিতে পারে। নিচের সারণিতে প্রতিটি একক এবং এর পরিসর তালিকাভুক্ত করা হয়েছে:
একক
সমতুল্য
টীকা
1 year
365 or 366 days
Depends on leap year
1 month
28–31 days
Varies by month
1 week
7 days
Fixed
1 day
24 hours
Fixed (ignoring DST transitions)
1 hour
3,600 seconds
Fixed
1 minute
60 seconds
Fixed
সাধারণ তারিখ ফরম্যাট
প্রোগ্রামিংয়ে তারিখ নিয়ে কাজ করার সময়, ফরম্যাট নির্ধারণ করে কীভাবে একটি তারিখ স্ট্রিং পার্স করা হবে। ভুল ফরম্যাট ব্যবহার করলে নীরব বাগ তৈরি হয়। ডেটা আদান-প্রদানের জন্য ISO 8601 সবচেয়ে নিরাপদ পছন্দ কারণ এটি দ্ব্যর্থহীন এবং টাইমজোন-সচেতন। নিচের সারণিতে আপনার সম্মুখীন হওয়ার সম্ভাবনা সবচেয়ে বেশি এমন ফরম্যাটগুলো তালিকাভুক্ত করা হয়েছে:
ফরম্যাট
উদাহরণ
ব্যবহৃত হয়
ISO 8601
2026-04-10T14:30:00Z
APIs, databases, logs
RFC 2822
Fri, 10 Apr 2026 14:30:00 +0000
Email headers, HTTP
Unix timestamp
1775831400
Epoch-based systems
US format
04/10/2026
User-facing (US locale)
European format
10.04.2026
User-facing (EU locale)
Short ISO
2026-04-10
HTML date inputs, SQL DATE
কোড উদাহরণ: দুটি তারিখের মধ্যে দিন গণনা
JavaScript, Python, Go এবং কমান্ড লাইনে দুটি তারিখের মধ্যে পার্থক্য গণনার কার্যকরী উদাহরণ। প্রতিটি স্নিপেট মোট-দিন গণনা এবং ভাষা সমর্থন করলে ক্যালেন্ডার-একক বিশ্লেষণ উভয়ই দেখায়।
JavaScript
// Calculate days between two dates
const start = new Date('2026-01-15')
const end = new Date('2026-04-10')
const diffMs = end.getTime() - start.getTime()
const diffDays = Math.floor(diffMs / (1000 * 60 * 60 * 24))
console.log(diffDays) // → 85
// Get year, month, day breakdown
function dateDiff(a, b) {
let years = b.getFullYear() - a.getFullYear()
let months = b.getMonth() - a.getMonth()
let days = b.getDate() - a.getDate()
if (days < 0) {
months--
days += new Date(b.getFullYear(), b.getMonth(), 0).getDate()
}
if (months < 0) { years--; months += 12 }
return { years, months, days }
}
console.log(dateDiff(start, end)) // → { years: 0, months: 2, days: 26 }
Python
from datetime import date, timedelta
from dateutil.relativedelta import relativedelta
start = date(2026, 1, 15)
end = date(2026, 4, 10)
# Total days
diff = (end - start).days
print(diff) # → 85
# Year/month/day breakdown (requires python-dateutil)
rd = relativedelta(end, start)
print(f"{rd.years}y {rd.months}m {rd.days}d") # → 0y 2m 26d
# Add 90 days to a date
future = start + timedelta(days=90)
print(future) # → 2026-04-15
# Days between two dates (GNU coreutils)
echo $(( ($(date -d "2026-04-10" +%s) - $(date -d "2026-01-15" +%s)) / 86400 ))
# → 85
# Add 90 days to a date (GNU date)
date -d "2026-01-15 + 90 days" +%Y-%m-%d
# → 2026-04-15
# macOS (BSD date) — add 90 days
date -j -v+90d -f "%Y-%m-%d" "2026-01-15" +%Y-%m-%d
# → 2026-04-15
প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী
দুটি তারিখের মধ্যে দিনের সংখ্যা কীভাবে গণনা করব?
পরবর্তী তারিখ থেকে আগের তারিখ বিয়োগ করুন মিলিসেকেন্ডে (বা আপনার ভাষার ডিউরেশন টাইপে) পার্থক্য পেতে, তারপর একদিনের মিলিসেকেন্ড সংখ্যা দিয়ে ভাগ করুন (৮৬,৪০০,০০০)। এটি মোট অতিবাহিত দিন দেয়। বছর, মাস এবং অবশিষ্ট দিনে ক্যালেন্ডার বিশ্লেষণের জন্য, প্রতিটি একক আলাদাভাবে গণনা করতে হবে কারণ মাসের দৈর্ঘ্য পরিবর্তনশীল।
তারিখ পার্থক্যে কি শুরুর তারিখ নাকি শেষ তারিখ অন্তর্ভুক্ত হয়?
প্রচলিত নিয়মে, তারিখ পার্থক্য দুটি তারিখের মধ্যে দিন গণনা করে, শুরু বা শেষ যেকোনো একটি বাদ দিয়ে। জানুয়ারি ১ এবং জানুয়ারি ২ বাছাই করলে ফলাফল ১ দিন। যদি আপনার ব্যবহারের ক্ষেত্রে অন্তর্ভুক্তিমূলক গণনা প্রয়োজন হয় (উভয় প্রান্ত সহ), ফলাফলে ১ যোগ করুন। এই টুল বেশিরভাগ প্রোগ্রামিং ভাষায় ব্যবহৃত exclusive-end কনভেনশন অনুসরণ করে।
তারিখ গণনায় অধিবর্ষ কীভাবে পরিচালিত হয়?
অধিবর্ষে ফেব্রুয়ারি ২৯ যোগ হয়, ফলে বছরে ৩৬৫-এর পরিবর্তে ৩৬৬ দিন হয়। গ্রেগরিয়ান অধিবর্ষের নিয়ম: ৪ দ্বারা বিভাজ্য, শতাব্দী বছর ছাড়া, যেগুলো ৪০০ দ্বারাও বিভাজ্য হতে হবে। তাই ২০২৪ এবং ২০২৮ অধিবর্ষ, ১৯০০ ছিল না, কিন্তু ২০০০ ছিল। ক্যালেন্ডার একক (বছর/মাস/দিন) নিয়ে কাজ করে এমন তারিখ পার্থক্য অ্যালগরিদম এটি স্বয়ংক্রিয়ভাবে পরিচালনা করে। মোট দিনে রূপান্তর করে এমন অ্যালগরিদমকে পরিসরটি ফেব্রুয়ারি ২৯-এর মধ্যে থাকলে অতিরিক্ত দিনটি হিসাবে নিতে হবে।
ক্যালেন্ডার দিন এবং কার্যদিবসের মধ্যে পার্থক্য কী?
ক্যালেন্ডার দিনে সপ্তাহান্ত এবং ছুটি সহ প্রতিটি দিন গণনা করা হয়। কার্যদিবস (ব্যবসায়িক দিনও বলা হয়) শনিবার, রবিবার এবং সরকারি ছুটি বাদ দেয়। এই টুল ক্যালেন্ডার দিন গণনা করে। আনুমানিক কার্যদিবসে রূপান্তর করতে মোট ক্যালেন্ডার দিন ৫/৭ দিয়ে গুণ করুন। সঠিক কার্যদিবসের সংখ্যার জন্য, সংশ্লিষ্ট এখতিয়ারের জন্য একটি ছুটির ক্যালেন্ডারও প্রয়োজন।
একটি শুরুর তারিখে দিন যোগ করে ভবিষ্যতের তারিখ গণনা করতে পারব?
হ্যাঁ। JavaScript-এ একটি Date অবজেক্ট তৈরি করুন এবং setDate(getDate() + n) কল করুন। Python-এ একটি date অবজেক্টে timedelta(days=n) যোগ করুন। Go-তে time.AddDate(0, 0, n) ব্যবহার করুন। এই টুল দুটি পরিচিত তারিখের মধ্যে পার্থক্যে মনোযোগ দেয়, তবে আপনি এটি আপনার গাণিতিক যাচাই করতে ব্যবহার করতে পারেন: শুরুর তারিখ এবং প্রত্যাশিত ফলাফলের তারিখ লিখুন এবং নিশ্চিত করুন মোট-দিনের আউটপুট আপনার যোগ করা অফসেটের সাথে মিলছে।
বিভিন্ন টুল তারিখের মধ্যে মাসের জন্য ভিন্ন ফলাফল কেন দেয়?
মাস গণনা অস্পষ্ট কারণ মাসের দৈর্ঘ্য ভিন্ন। জানুয়ারি ৩১ থেকে ফেব্রুয়ারি ২৮ বিবেচনা করুন: এটি কি ১ মাস নাকি ০ মাস এবং ২৮ দিন? বিভিন্ন লাইব্রেরি ভিন্ন পছন্দ করে। সবচেয়ে সাধারণ প্রচলন (Python-এর dateutil, Java-এর Period এবং এই টুল দ্বারা ব্যবহৃত) একটি পূর্ণ মাস হিসাবে গণনা করে যখন একই মাসের দিন বা ছোট মাসের শেষ বৈধ দিনে পৌঁছানো হয়। ফলাফল তুলনা করার সময় সর্বদা যাচাই করুন আপনার লাইব্রেরি কোন প্রচলন ব্যবহার করে।
তারিখ গণনা কি টাইমজোনের দ্বারা প্রভাবিত হয়?
যখন আপনি সময় উপাদান ছাড়া তারিখ নির্বাচন করেন (শুধু বছর-মাস-দিন), গণনাটি টাইমজোন-নিরপেক্ষ কারণ এটি সময়ের মুহূর্ত নয়, ক্যালেন্ডার তারিখে কাজ করে। যদি আপনাকে দুটি নির্দিষ্ট মুহূর্তের মধ্যে পার্থক্য গণনা করতে হয় (সময় এবং টাইমজোন সহ), আপনাকে সম্পূর্ণ ISO 8601 টাইমস্ট্যাম্পের সাথে কাজ করতে হবে এবং বিয়োগ করার আগে উভয়কে UTC-তে রূপান্তর করতে হবে। এই টুল শুধুমাত্র ক্যালেন্ডার তারিখে কাজ করে।