আধুনিক উত্তরের জন্য সময়।
java.Time এবং থ্রিটেনএবিপি
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("d/M/u");
String validUntil = "1/1/1990";
LocalDate validDate = LocalDate.parse(validUntil, dateFormatter);
LocalDate currentDate = LocalDate.now(ZoneId.of("Pacific/Efate"));
if (currentDate.isAfter(validDate)) {
System.out.println("Catalog is outdated");
}
আমি এখনই এই কোডটি চালিয়েছিলে আউটপুটটি ছিল:
ক্যাটালগ পুরানো
যেহেতু এটি সর্বকালের জোনে কখনই একই তারিখ নয়, তাই স্পষ্ট সময় অঞ্চল দিন LocalDate.now। আপনি যদি চান যে ক্যাটালগটি সমস্ত সময় জোনে একই সময়ে সমাপ্ত হয়, আপনি ZoneOffset.UTCযতক্ষণ না আপনি ব্যবহারকারীদের ইউটিসি ব্যবহার করছেন তা অবধি জানিয়ে দিতে পারেন ।
আমি জাভা.টাইম, আধুনিক জাভা তারিখ এবং সময় এপিআই ব্যবহার করছি। তারিখ-সময় শ্রেণীর ক্ষেত্রে আপনাকে ব্যবহৃত, Calendar, SimpleDateFormatএবং Date, সমস্ত দুর্বল ডিজাইন করা হয় এবং ভাগ্যক্রমে দীর্ঘ পুরানো। নাম সত্ত্বেও Dateকোনও একটি তারিখের প্রতিনিধিত্ব করে না, তবে সময়মতো একটি পয়েন্ট। এই একটা পরিনাম হল: যদিও আজ, 15 ই ফেব্রুয়ারি, 2019 একটি নতুন তৈরি করা Dateবস্তু আগে থেকেই পরে (তাই না সমান) একটি Dateপার্স থেকে অবজেক্ট 15/02/2019। এটি কিছু বিভ্রান্ত। এর বিপরীতে আধুনিকটি LocalDateদিনের সময় ব্যতীত (এবং সময় অঞ্চল ছাড়াই) একটি তারিখ, সুতরাং LocalDateআজকের তারিখের প্রতিনিধিত্বকারী দু'জন সর্বদা সমান হবে।
প্রশ্ন: আমি অ্যান্ড্রয়েডে জাভা.টাইম ব্যবহার করতে পারি?
হ্যাঁ, জাভা.টাইম পুরানো এবং আরও নতুন অ্যান্ড্রয়েড ডিভাইসে দুর্দান্তভাবে কাজ করে। এটির জন্য কমপক্ষে জাভা 6 প্রয়োজন ।
- জাভা 8 এবং তারপরে এবং আরও নতুন অ্যান্ড্রয়েড ডিভাইসগুলিতে (এপিআই স্তর 26 থেকে) আধুনিক এপিআই বিল্ট ইন হয়।
- জাভা 6 এবং 7-এ থ্রিটেন ব্যাকপোর্ট, আধুনিক ক্লাসগুলির ব্যাকপোর্ট (জেএসআর 310 এর জন্য থ্রিডেন; নীচে লিঙ্কগুলি দেখুন) পান।
- (পুরানো) অ্যান্ড্রয়েড থ্রিটেন ব্যাকপোর্টের অ্যান্ড্রয়েড সংস্করণ ব্যবহার করে। একে থ্রিটেনএবিপি বলে। এবং
org.threeten.bpসাব-প্যাকেজগুলি সহ আপনি তারিখ এবং সময় ক্লাসগুলি আমদানি করেছেন তা নিশ্চিত করুন ।
লিংক
Calendar,SimpleDateFormat,Dateবা অন্যান্য দীর্ঘ সেকেলে জাভা তারিখ এবং সময় শ্রেণীর কোন। পরিবর্তে ব্যবহার করুনjava.time, আধুনিক জাভা তারিখ এবং সময় এপিআই । হ্যাঁ, আপনি এটি অ্যান্ড্রয়েডে ব্যবহার করতে পারেন। পুরানো অ্যান্ড্রয়েডের জন্য অ্যান্ড্রয়েড প্রকল্পে থ্রিটেনএবিপি কীভাবে ব্যবহার করবেন তা দেখুন ।