JavaScript: Date থেকে Number রূপান্তর (Converting Dates to Numbers)
জাভাস্ক্রিপ্টে তারিখ বা Date Object অনেক কার্যকর একটি জিনিস। তবে কিছু কিছু পরিস্থিতিতে আমাদের দরকার হয় সেই তারিখকে একটি সংখ্যা (Number) তে রূপান্তর করার। যেমনঃ সময় গণনা, দুটি তারিখের মধ্যে পার্থক্য বের করা, অথবা টাইমস্ট্যাম্প হিসাব রাখা। এই টিউটোরিয়ালে আমরা দেখবো কিভাবে জাভাস্ক্রিপ্টে Date কে Number এ রূপান্তর করা যায় এবং তা কেন দরকার হয়।
Date কীভাবে কাজ করে?
জাভাস্ক্রিপ্টে একটি Date Object আসলে একটি নির্দিষ্ট সময়কে উপস্থাপন করে — যেটি 1 জানুয়ারি 1970 UTC থেকে শুরু হয়ে মিলিসেকেন্ডে গণনা করা হয়। এটিকে Unix Epoch Time বলা হয়।
পদ্ধতি ১: getTime() ব্যবহার করে
getTime() মেথডটি ব্যবহার করলে আপনি Date Object থেকে মিলিসেকেন্ড হিসেবে একটি সংখ্যা পেতে পারেন।
<script>
let date = new Date("2025-05-22");
let timestamp = date.getTime();
console.log(timestamp); // যেমন: 1747852800000
</script>
ব্যাখ্যা: এখানে getTime() মেথডটি আমাদেরকে “2025-05-22” এর জন্য টাইমস্ট্যাম্প সংখ্যা দিয়েছে।
পদ্ধতি ২: valueOf() ব্যবহার করে
এই মেথডটিও getTime() এর মতো একই ফলাফল প্রদান করে।
<script>
let now = new Date();
let numeric = now.valueOf();
console.log(numeric);
</script>
ব্যাখ্যা: valueOf() মেথড Date Object কে মিলিসেকেন্ড নম্বরে রূপান্তর করে। এটি getTime() এর সমানই।
পদ্ধতি ৩: Date কে Number এ কনভার্ট করা
আপনি সরাসরি Number() ফাংশন ব্যবহার করেও একটি Date কে সংখ্যা হিসেবে রূপান্তর করতে পারেন।
<script>
let today = new Date();
let num = Number(today);
console.log(num);
</script>
ব্যাখ্যা: এখানে Number(today) একটি Date কে সরাসরি নাম্বারে রূপান্তর করেছে, যেটি টাইমস্ট্যাম্প রিটার্ন করে।
তুলনামূলক টেবিল
| পদ্ধতি | কোড | ফলাফল |
|---|---|---|
| getTime() | date.getTime() | মিলিসেকেন্ড নাম্বার |
| valueOf() | date.valueOf() | মিলিসেকেন্ড নাম্বার |
| Number() | Number(date) | মিলিসেকেন্ড নাম্বার |
ব্যবহারিক প্রয়োগ: দুটি Date এর পার্থক্য বের করা
আমরা দুটি তারিখের মধ্যে কত দিন পার হয়েছে তা বের করার জন্য নাম্বারে রূপান্তর ব্যবহার করতে পারি।
<script>
let d1 = new Date("2025-01-01");
let d2 = new Date("2025-05-22");
let diff = d2.getTime() - d1.getTime();
let days = diff / (1000 * 60 * 60 * 24);
console.log(days); // 141 দিন
</script>
✅ উপসংহার
তারিখ থেকে সংখ্যা রূপান্তর জাভাস্ক্রিপ্টে অত্যন্ত প্রয়োজনীয় এবং কার্যকরী একটি টেকনিক। টাইম গণনা, সময় পার্থক্য হিসাব, অথবা টাইমস্ট্যাম্প স্টোর করার জন্য এই কৌশলগুলো জানা থাকা উচিত। আপনি যেকোনো একটি পদ্ধতি ব্যবহার করতে পারেন — getTime(), valueOf(), অথবা Number() — যেটি আপনার কোডে সবচেয়ে উপযোগী হয়।