জাভাস্ক্রিপ্টে তারিখের স্ট্রিং তুলনা
ধরুন আমাদের নিম্নলিখিত টেক্সট ফরম্যাটে দুটি তারিখ আছে:
let date1 = '2020-12-01';
let date2 = '2019-12-01';
এই ক্ষেত্রে, এই তারিখগুলির তুলনা করা সম্ভব এবং খুঁজে বের করা সম্ভব যে এই তারিখগুলির মধ্যে কোনটি বড়:
console.log(date1 > date2); // true প্রদর্শন করবে
কিভাবে এই তারিখগুলির তুলনা হয়? ব্যাপারটি হল, আমাদের তারিখগুলি হল স্ট্রিং এবং জাভাস্ক্রিপ্ট এগুলিকে স্ট্রিং হিসাবে তুলনা করে। অর্থাৎ এটি প্রথমে দুটি তারিখের প্রথম অক্ষর তুলনা করে: যদি তারা একই হয়, তাহলে জাভাস্ক্রিপ্ট দ্বিতীয় অক্ষরগুলি তুলনা করে, এবং এভাবেই চলতে থাকে, যতক্ষণ না এটি কোন পার্থক্য খুঁজে পায়। এই কারণে যে আমাদের তারিখ ফরম্যাটে প্রথমে বছর থাকে, তারপর মাস, এবং তারপর দিন, এমন তুলনা সম্ভব।
ব্যাপারটি হল, যদি প্রথম বছরের সংখ্যা দ্বিতীয় বছরের সংখ্যার চেয়ে বড় হয়, তাহলে মাস এবং দিনগুলি কী আছে তা আর গুরুত্বপূর্ণ নয় - প্রথম বছর নিশ্চিতভাবে বড়। যদি বছরগুলি মেলে, তাহলে সেই তারিখটি বড় হবে যার মাস বড়। আর যদি মাসও মেলে, তাহলে সেই তারিখটি বড় হবে যার দিন বড়। ঠিক আছে, আর যদি দিনও একই হয়, তাহলে তারিখগুলি সমান।
তারিখগুলি একই ফরম্যাটে আছে তাও গুরুত্বপূর্ণ। আমাদের ক্ষেত্রে, তারিখের অংশগুলির বিভাজক হল ড্যাশ। এটি, অবশ্যই, অপরিহার্য নয়। উদাহরণস্বরূপ, ডট বসানো যেতে পারে:
let date1 = '2020.12.01';
let date2 = '2019.12.01';
বা বিভাজকগুলি সম্পূর্ণভাবে সরিয়ে দেওয়া যেতে পারে:
let date1 = '20201201';
let date2 = '20191201';
তুলনা সঠিক হওয়ার জন্য প্রধান বিষয় হল স্থান নির্ধারণটি নিম্নরূপ হতে হবে: প্রথমে বছর, তারপর মাস, তারপর দিন।
নিচে দেওয়া দুটি তারিখ তুলনা করে এমন কোড লিখুন এবং কোনটি বড় সে সম্পর্কে একটি বার্তা প্রদর্শন করুন:
let date1 = '2020-11-30';
let date2 = '2020-12-01';