"আমার মনে আছে যে আমি আপনাকে তারিখ নিয়ে কাজ করার বিষয়ে একটু বলতে চেয়েছিলাম।"

"আপনি ইতিমধ্যেই আমাকে বলেছেন যে জাভাতে তারিখ ক্লাস রয়েছে এবং আমি তারিখগুলির সাথে কাজ করতে সেই ক্লাসটি ব্যবহার করতে পারি।"

"হুম। আচ্ছা, ডেট ক্লাসটা কিছুদিনের জন্য পুরানো হয়ে গেছে।"

"এখন এর পরিবর্তে ক্যালেন্ডার ক্লাস ব্যবহার করার পরামর্শ দেওয়া হচ্ছে, যার একটি getTime() পদ্ধতি রয়েছে যা বর্তমান তারিখ প্রদান করে।"

"এটি একটি ক্যালেন্ডার অবজেক্ট সাধারণত তৈরি করা হয়:"

একটি ক্যালেন্ডার অবজেক্ট তৈরি করুন
Calendar cal = Calendar.getInstance();

"যখন আপনি এই পদ্ধতিতে কল করেন, তখন আপনার কম্পিউটার সেটিংসের উপর ভিত্তি করে সঠিক ক্যালেন্ডার তৈরি করা হয়।"

"সঠিক' ক্যালেন্ডার? তার মানে কি বেশ কিছু আছে?"

"হ্যাঁ। ঠিক আছে, 'প্রাসঙ্গিক' বলাটা আরও সঠিক হবে। আসল কথা হল পৃথিবীতে একটা নয়, অনেক ক্যালেন্ডার আছে। তাদের প্রায় প্রত্যেকেই কোনো না কোনো ধর্ম বা দেশের সঙ্গে যুক্ত।"

"আপনি কোন দেশে আছেন তার উপর নির্ভর করে বছরটি ভিন্ন হতে পারে।"

"এখানে সবচেয়ে সাধারণ ক্যালেন্ডারের উদাহরণ রয়েছে।"

ক্যালেন্ডার ক্লাস ক্যালেন্ডারের নাম
গ্রেগরিয়ান ক্যালেন্ডার খ্রিস্টান গ্রেগরিয়ান ক্যালেন্ডার
বৌদ্ধ ক্যালেন্ডার বৌদ্ধ ক্যালেন্ডার
জাপানি ইম্পেরিয়াল ক্যালেন্ডার জাপানি ইম্পেরিয়াল ক্যালেন্ডার

"এছাড়া চাইনিজ ক্যালেন্ডার, ইসলামিক ক্যালেন্ডার এবং আরও অনেক কিছু আছে।"

"আমি দেখি."

"বর্তমান তারিখ পেতে, আপনাকে এই মত কোড লিখতে হবে:"

বর্তমান সময় পান
Calendar cal = Calendar.getInstance();
Date date = cal.getTime();

"ক্যালেন্ডার ক্লাসে অনেকগুলি পদ্ধতি রয়েছে যা আপনাকে একটি তারিখ এবং সময় সম্পর্কে দ্রুত তথ্য পেতে দেয়।"

কোড মন্তব্য
Calendar calendar = Calendar.getInstance();

int era = calendar.get(Calendar.ERA);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);

int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
int hour = calendar.get(Calendar.HOUR);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
যুগ 
বছরের 
মাস মাসের 
দিন

সপ্তাহের দিন (সোম, মঙ্গল, বুধ, …)
ঘন্টা 
মিনিট 
সেকেন্ড

"কখনও কখনও আপনাকে সত্যিই উপলব্ধ তথ্যের একটি অংশ পেতে হবে। উদাহরণস্বরূপ, বর্তমান বছর বা সপ্তাহের দিন।"

"কিন্তু কখনও কখনও আপনাকে সঠিক বিন্যাসে তারিখটি প্রদর্শন করতে হবে।"

"উদাহরণস্বরূপ, লগ ফাইলে বা অন্য কোথাও।"

"অথবা ব্যবহারকারী কাস্টমাইজ করতে পারে এমন একটি বিন্যাস তৈরি করুন। তখন আপনি কী করবেন?"

"এটির জন্যও বিশেষ ক্লাস রয়েছে। SimpleDateFormat ক্লাসটি আপনার বর্ণিত কাজের জন্য পুরোপুরি উপযুক্ত:"

পছন্দসই বিন্যাসে একটি তারিখ প্রদর্শন কিভাবে
Calendar calendar = Calendar.getInstance();

DateFormat formatter = new SimpleDateFormat("MM-DD-YY");

String message = formatter.format(calendar.getTime());

"আহ। আমার মনে আছে। আপনি ইতিমধ্যেই আমাকে SimpleDateFormat সম্পর্কে কিছু ব্যাখ্যা করেছেন , কিন্তু সত্যি বলতে আমি অনেক কিছু মনে রাখি না।"

"এটি সবই খুব সহজ। আপনি একটি SimpleDateFormat অবজেক্ট তৈরি করুন এবং আপনি যে তারিখের প্যাটার্ন পেতে চান সেটি পাস করুন। তারপর আপনি ফর্ম্যাট পদ্ধতিতে কল করুন এবং এটি আপনাকে পছন্দসই আকারে পাস করার তারিখ দেয়।"

"আকর্ষণীয় শোনাচ্ছে। আমি আরো বিস্তারিত জানতে চাই।"

"এই নিন। বিশদ বিবরণ। এখানে কিছু অক্ষর রয়েছে যা তারিখের প্যাটার্নে ব্যবহার করা যেতে পারে:"

চিঠি বর্ণনা
জি যুগ দ্বারা প্রতিস্থাপিত (AD বা BC)
y বছর দ্বারা প্রতিস্থাপিত
এম মাস দ্বারা প্রতিস্থাপিত
w বছরে সপ্তাহের সংখ্যা
ডব্লিউ মাসে সপ্তাহের সংখ্যা
ডি বছরে দিনের সংখ্যা
d মাসের দিন
মাসে সপ্তাহের দিন
সপ্তাহের দিন
AM/PM (দুপুরের আগে বা পরে)
এইচ 24-ঘন্টার ফর্ম্যাটে ঘন্টা (0-23)
k 24-ঘণ্টার ফর্ম্যাটে ঘন্টা (1-24)
কে 12-ঘন্টার ফর্ম্যাটে ঘন্টা (0-11)
12-ঘন্টার ফর্ম্যাটে ঘন্টা (1-12)
মি মিনিট
s সেকেন্ড
এস মিলিসেকেন্ড
z টাইম জোন, এইভাবে ফর্ম্যাট করা হয়েছে: প্যাসিফিক স্ট্যান্ডার্ড টাইম, PST
জেড টাইম জোন, এভাবে ফরম্যাট করা হয়েছে: -0800 </td>

"ঠান্ডা! আপনার যা কিছু দরকার তা হল।"

"এই অক্ষরগুলি পুনরাবৃত্তি করার সাথে সম্পর্কিত কিছু সূক্ষ্মতা রয়েছে।"

"যদি আপনি YY লেখেন, আপনি বছরের শেষ দুটি সংখ্যা পাবেন। আপনি YYYY লিখলে, আপনি বছরের চারটি সংখ্যা পাবেন।"

"মাসের সাথে কিছু জটিলতাও আছে। MM হল মাসের সংখ্যা। MMM হল মাসের একটি তিন-অক্ষরের সংক্ষিপ্ত রূপ, যেমন Jan, Feb, Mar, Apr, May, ইত্যাদি। MMMM মানে মাসের পুরো নাম। "

"আপনি সপ্তাহের পুরো দিন (EEEE ব্যবহার করে) বা শুধুমাত্র প্রথম দুটি অক্ষর (EE ব্যবহার করে) প্রদর্শন করতে পারেন।"

"ধন্যবাদ, ঋষি। এই SimpleDateFormat ক্লাসটি সত্যিই দরকারী। এখন আমি জানি।"

"এটি ব্যবহার করে উপভোগ করুন! এবং সৌভাগ্য!"