জাভা প্রোগ্রামিং ভাষায় দুটি তারিখের তুলনা করার অনেক উপায় আছে। কম্পিউটারে, তারিখকে সময়ের সংখ্যায় (ডেটা টাইপ লং) দ্বারা প্রতিনিধিত্ব করা হয় - অর্থাৎ ১ মিলি সেকেন্ডের সংখ্যা যা ১ জানুয়ারি ১ since০ থেকে শেষ হয়ে গেছে। জাভাতে তারিখ একটি বস্তু, যার মানে এটি তুলনা করার বিভিন্ন পদ্ধতি। দুটি তারিখের তুলনা করার জন্য ব্যবহৃত যে কোনও পদ্ধতি মূলত দুটি তারিখের সময় ইউনিটগুলির তুলনা করে।
ধাপ
4 এর মধ্যে পদ্ধতি 1: তুলনা ব্যবহার করুন
ধাপ 1. তুলনা ব্যবহার করুন।
তারিখ বস্তু তুলনামূলক প্রয়োগ করে তাই 2 তারিখ সরাসরি তুলনা পদ্ধতিতে একে অপরের সাথে তুলনা করা যায়। যদি উভয় তারিখের সময় ইউনিটে একই সংখ্যা থাকে, তবে পদ্ধতিটি শূন্য প্রদান করে। যদি দ্বিতীয় তারিখটি প্রথমটির চেয়ে কম হয়, শূন্যের চেয়ে কম একটি মান ফেরত দেওয়া হয়। যদি দ্বিতীয় তারিখটি প্রথমটির চেয়ে বড় হয়, পদ্ধতিটি শূন্যের চেয়ে বড় মান প্রদান করে। যদি উভয় তারিখ একই হয়, তাহলে পদ্ধতিটি একটি শূন্য মান প্রদান করবে।
ধাপ 2. একাধিক তারিখ বস্তু তৈরি করুন।
তাদের সাথে তুলনা করার আগে আপনাকে অবশ্যই একাধিক তারিখ বস্তু তৈরি করতে হবে। এটি করার সবচেয়ে সহজ উপায় হল SimpleDateFormat ক্লাস ব্যবহার করা। এই শ্রেণীটি একটি ইনপুট তারিখের মানকে তারিখ বস্তুতে রূপান্তর করা সহজ করে তোলে।
SimpleDateFormat sdf = নতুন SimpleDateFormat ("yyyy-MM-dd")। একটি নতুন 'অবজেক্ট ডেট' -এ একটি মান ঘোষণা করতে, তারিখ তৈরি করার সময় একই তারিখের ফর্ম্যাট ব্যবহার করুন। তারিখ তারিখ 1 = sdf.parse ("1995-02-23"); // তারিখ 1 হল ফেব্রুয়ারি 23, 1995 তারিখ তারিখ 2 = sdf.parse ("2001-10-31"); // তারিখ 2 অক্টোবর 31, 2001 তারিখ তারিখ 3 = sdf.parse ("1995-02-23"); // তারিখ 3 ফেব্রুয়ারি 23, 1995
ধাপ 3. তারিখ বস্তুর তুলনা করুন।
নিম্নলিখিত কোডটি আপনাকে প্রতিটি ক্ষেত্রে উদাহরণ দেখাবে - এর চেয়ে কম, সমান এবং এর চেয়ে বড়।
date1.compareTo (তারিখ 2); // date1 <date2, 0 date2.compareTo (date1) এর চেয়ে কম মান প্রদান করে; // date2> date1, 0 date1.compareTo (date3) এর চেয়ে বড় মান প্রদান করে; // তারিখ 1 = তারিখ 3, তাই এটি কনসোলে 0 আউটপুট করবে
4 এর 2 পদ্ধতি: সমান, পরে এবং আগে ব্যবহার করা
ধাপ 1. সমান, পরে এবং আগে ব্যবহার করুন।
তারিখগুলি সমান, পরে এবং আগে পদ্ধতি ব্যবহার করে তুলনা করা যেতে পারে। যদি দুটি তারিখের সময় একই মান থাকে, সমান পদ্ধতি সত্য ফিরে আসে। নিচের উদাহরণটি তুলনা পদ্ধতিতে তৈরি তারিখের বস্তুটি ব্যবহার করবে।
ধাপ 2. আগের পদ্ধতির সাথে তুলনা করুন।
নিম্নলিখিত কোডটি একটি উদাহরণ কেস দেখায় যা সত্য এবং মিথ্যা প্রদান করে। যদি তারিখ 1 তারিখ 2 এর আগে একটি তারিখ হয়, তাহলে আগের পদ্ধতিটি সত্য হয়। অন্যথায়, আগে পদ্ধতি মিথ্যা ফেরত।
System.out.print (date1.before (date2)); // '' সত্য '' System.out.print (date2.before (date2)) মান প্রদর্শন করুন; // মান "মিথ্যা" ফেরত দিন
ধাপ 3. পরের পদ্ধতি ব্যবহার করে তুলনা করুন।
নিম্নলিখিত কোডটি একটি উদাহরণ কেস দেখায় যা সত্য এবং মিথ্যা প্রদান করে। যদি তারিখ 2 তারিখ 1 এর পরে তারিখ হয়, তাহলে পদ্ধতিটি সত্য হয়। অন্যথায়, পরে পদ্ধতি মিথ্যা ফিরে আসবে।
System.out.print (date2. After (date1)); // মানটি প্রদর্শন করুন
ধাপ 4. সমান পদ্ধতির সাথে তুলনা করুন।
নিম্নলিখিত কোডটি একটি উদাহরণ কেস দেখায় যা সত্য এবং মিথ্যা প্রদান করে। যদি উভয় তারিখ সমান হয়, সমান পদ্ধতি সত্য ফিরে আসে। অন্যথায়, সমান পদ্ধতি মিথ্যা প্রদান করে।
System.out.print (date1.equals (date3)); // মান প্রদর্শন করুন 'সত্য'
4 এর মধ্যে পদ্ধতি 3: ক্লাস ক্যালেন্ডার ব্যবহার করা
ধাপ 1. ক্লাস ক্যালেন্ডার ব্যবহার করুন।
ক্যালেন্ডার ক্লাসেও তুলনা, সমান, পরে এবং আগে পদ্ধতিগুলি একইভাবে কাজ করে যা তারিখ শ্রেণীর জন্য পূর্বে বর্ণিত পদ্ধতিগুলির মতোই কাজ করে। সুতরাং যদি তারিখের তথ্য একটি ক্লাস ক্যালেন্ডারে সংরক্ষণ করা হয়, তাহলে আপনাকে কেবল একটি তুলনা করার জন্য তারিখটি বের করতে হবে না।
পদক্ষেপ 2. ক্যালেন্ডারের একটি উদাহরণ তৈরি করুন।
ক্লাস ক্যালেন্ডারে পদ্ধতিগুলি ব্যবহার করতে, আপনাকে অবশ্যই একাধিক ক্যালেন্ডার দৃষ্টান্ত তৈরি করতে হবে। ভাগ্যক্রমে, আপনি পূর্বে তৈরি তারিখের উদাহরণ থেকে মানগুলি ব্যবহার করতে পারেন।
ক্যালেন্ডার cal1 = Calendar.getInstance (); // cal1 ক্যালেন্ডার ঘোষণা করুন cal2 = Calendar.getInstance (); // cal2 ক্যালেন্ডার ঘোষণা করুন cal3 = Calendar.getInstance (); // cal3 cal1.setTime (date1) ঘোষণা করুন; // তারিখ রাখুন cal1 cal2.setTime (date2); cal3.setTime (তারিখ 3);
ধাপ 3. আগে পদ্ধতি ব্যবহার করে cal1 এবং cal2 তুলনা করুন।
নিচের কোডটি tr এর মান আউটপুট করবে
System.out.print (cal1.before (cal2)); // মান '' সত্য '' ফেরত দেবে
ধাপ 4. পরে পদ্ধতি ব্যবহার করে cal1 এবং cal2 তুলনা করুন।
নিম্নলিখিত কোডটি মিথ্যা হয়ে যাবে কারণ cal1 হল cal2 এর আগের তারিখ।
System.out.print (cal1. After (cal2)); // মান "মিথ্যা" ফেরত দিন
ধাপ 5. সমান পদ্ধতি ব্যবহার করে cal1 এবং cal2 তুলনা করুন।
নিচের কোডটি এমন একটি উদাহরণ দেখাবে যা সত্য এবং মিথ্যা প্রদান করে। তুলনা করা ক্যালেন্ডারের দৃষ্টান্তের উপর রাজ্য নির্ভর করে। নিম্নলিখিত কোডটি "সত্য" মানটি ফিরিয়ে দেবে, তারপরে পরবর্তী লাইনে "মিথ্যা"।
System.out.println (cal1.equals (cal3)); // "সত্য" মান ফেরত দিন: cal1 == cal3 System.out.print (cal1.equals (cal2)); // মান "মিথ্যা" ফেরত দিন: cal1! = cal2
4 এর 4 পদ্ধতি: getTime ব্যবহার করা
ধাপ 1. GetTime ব্যবহার করুন।
আপনি দুটি তারিখের সময় ইউনিট মানগুলির সাথে সরাসরি তুলনা করতে পারেন, যদিও আগের দুটি পদ্ধতি পড়া সহজ এবং পছন্দনীয়। এইভাবে আপনি 2 টি আদিম ডেটা প্রকারের তুলনা করবেন, যাতে আপনি "", এবং "==" অপারেন্ড ব্যবহার করতে পারেন।
ধাপ 2. দীর্ঘ সংখ্যার বিন্যাসে একটি সময় বস্তু তৈরি করুন।
তারিখগুলি তুলনা করার আগে, আপনাকে অবশ্যই পূর্বে তৈরি তারিখ বস্তু থেকে একটি দীর্ঘ পূর্ণসংখ্যা মান তৈরি করতে হবে। ভাগ্যক্রমে, getTime () পদ্ধতি এটি আপনার জন্য করবে।
দীর্ঘ সময় 1 = getTime (তারিখ 1); // তারিখ 1 দীর্ঘ সময় 2 = getTime (তারিখ 2) এর আদিম সময় ঘোষণা; // তারিখ 2 এর আদিম সময় 2 মান ঘোষণা করুন
ধাপ comparison. তুলনার চেয়ে কম সঞ্চালন করুন
এই দুটি পূর্ণসংখ্যা মান তুলনা করতে (<) অপারেন্ডের চেয়ে কম ব্যবহার করুন। যেহেতু টাইম 1 টাইম 2 এর চেয়ে কম, প্রথম বার্তাটি উপস্থিত হবে। বাক্য গঠন বাক্যটি সম্পূর্ণ করার জন্য অন্তর্ভুক্ত করা হয়েছে।
যদি (time1 <time2) {System.out.println ("date1 তারিখের আগে তারিখ 2"); // দেখাবে কারণ time1 <time2} else {System.out.println ("date1 তারিখ 2 এর আগে তারিখ নয়"); }
ধাপ 4. তুলনা তুলনায় একটি বড় সঞ্চালন।
এই দুটি পূর্ণসংখ্যার মান তুলনা করতে (>) চেয়ে বড় অপারেন্ড ব্যবহার করুন। কারণ টাইম 1 টাইম 2 এর চেয়ে বড়, প্রথম বার্তাটি উপস্থিত হবে। বাক্য গঠন বাক্যটি সম্পূর্ণ করার জন্য অন্তর্ভুক্ত করা হয়েছে।
যদি (time2> time1) {System.out.println ("date2 তারিখ 1 এর পরের তারিখ"); // দেখাবে কারণ time2> time1} অন্যথায় {System.out.println ("date2 তারিখ 1 এর পরের তারিখ নয়"); }
ধাপ 5. একটি সমান তুলনা করুন।
এই দুটি পূর্ণসংখ্যার তুলনা করতে মানগুলির সমতা (==) পরীক্ষা করতে অপারেন্ড ফাংশনটি ব্যবহার করুন। যেহেতু time1 টি time3 এর সমান, প্রথম বার্তাটি উপস্থিত হবে। যদি প্রোগ্রামের প্রবাহ অন্য বিবৃতিতে চলে যায়, তাহলে এর মানে হল যে দুইবারের একই মান নেই।
যদি (time1 == time2) {System.out.println ("উভয় তারিখ একই"); } অন্যথায় // দেখাবে কারণ time1! = time2}