PHP-তে দুটি তারিখ মিলিয়ে দেখা khá সহজ যখন দুটি তারিখ একই ফরম্যাটে থাকে কিন্তু PHP ফেইল করে যেন দুইটি তারিখ ভিন্ন ফরম্যাটে থাকে। এই আর্টিকেলে আমরা PHP-তে তারিখ তুলনার বিভিন্ন কেস আলোচনা করব। আমরা DateTime ক্লাস, strtotime() ব্যবহার করে তারিখ তুলনা শিখব।
কেস ১:
যদি দেওয়া তারিখগুলো একই ফরম্যাটে থাকে তবে সিম্পল কমপেরিজন অপারেটর দিয়ে তারিখগুলো বিশ্লেষণ করা যায়।
<?php
$date1 = "2018-11-24";
$date2 = "2019-03-26";
if ($date1 > $date2)
echo "$date1 is latest than $date2";
else
echo "$date1 is older than $date2";
?>
আউটপুট:
2019-03-26 is latest than 2018-11-24
ব্যাখ্যা:
এখানে আমরা দুটি তারিখ $date1 এবং $date2 একই ফরম্যাটে ডিক্লেয়ার করেছি। তাই আমরা কমপেরিজন অপারেটর (>) ব্যবহার করে তারিখগুলো তুলনা করেছি।
কেস ২:
যদি দেওয়া তারিখগুলো ভিন্ন ফরম্যাটে থাকে তবে আমরা strtotime() ফাংশন ব্যবহার করে দেওয়া তারিখগুলোকে UNIX টাইমস্ট্যাম্প ফরম্যাটে কনভার্ট করি এবং এই 넘েরিক্যাল টাইমস্ট্যাম্পগুলো তুলনা করে এক্সপেক্টেড রেজাল্ট পাই।
উদাহরণ:
<?php
$date1 = "18-03-22";
$date2 = "2017-08-24";
$curtimestamp1 = strtotime($date1);
$curtimestamp2 = strtotime($date2);
if ($curtimestamp1 > $curtimestamp2)
echo "$date1 is latest than $date2";
else
echo "$date1 is older than $date2";
?>
আউটপুট:
18-03-22 is latest than 2017-08-24
ব্যাখ্যা:
এই উদাহরণে, আমাদের দুটি তারিখ আছে যা ভিন্ন ফরম্যাটে। তাই আমরা প্রিডিফাইনড ফাংশন strtotime() ব্যবহার করে সেগুলোকে 넘েরিক UNIX টাইমস্ট্যাম্পে কনভার্ট করেছি, তারপর সেই টাইমস্ট্যাম্পগুলো তুলনা করার জন্য বিভিন্ন কমপেরিজন অপারেটর ব্যবহার করেছি ডিজায়ারড রেজাল্ট পেতে।
কেস ৩:
DateTime ক্লাসের অবজেক্ট তৈরি করে দুটি তারিখ তুলনা।
উদাহরণ:
<?php
$date1 = new DateTime("18-02-24");
$date2 = new DateTime("2019-03-24");
if ($date1 > $date2) {
echo 'datetime1 greater than datetime2';
}
if ($date1 < $date2) {
echo 'datetime1 lesser than datetime2';
}
if ($date1 == $date2) {
echo 'datetime2 is equal than datetime1';
}
?>
আউটপুট:
datetime1 lesser than datetime2
ব্যাখ্যা:
এই উদাহরণে, আমরা দুটি DateTime অবজেক্ট তৈরি করেছি। সেই দুটি তারিখ তুলনা করার জন্য আমরা বিভিন্ন কমপেরিজন অপারেটর ব্যবহার করেছি ডিজায়ারড রেজাল্ট পেতে।