Duration এবং Period
টাইপ-সেফ Duration এবং Period ব্যবহার করে সময়ের পার্থক্য হিসাব করুন।
কোড তুলনা
✕ Pre-Java 8
// How many days between two dates?
long diff = date2.getTime()
- date1.getTime();
long days = diff
/ (1000 * 60 * 60 * 24);
// ignores DST, leap seconds
✓ Java 8+
long days = ChronoUnit.DAYS
.between(date1, date2);
Period period = Period.between(
date1, date2);
Duration elapsed = Duration.between(
time1, time2);
এই কোডে সমস্যা দেখছেন? আমাদের জানান।
কেন আধুনিক পদ্ধতি ভালো
টাইপ-সেফ (Type-safe)
সময়ের জন্য Duration এবং তারিখের জন্য Period ব্যবহার করা হয় – কোনো বিভ্রান্তি থাকে না।
সঠিক গণনা (Correct Math)
DST ট্রানজিশন, লিপ ইয়ার (leap years) এবং লিপ সেকেন্ড (leap seconds) সঠিকভাবে হ্যান্ডেল করে।
পঠনযোগ্য
ChronoUnit.DAYS.between() মেথডটি ইংরেজি বাক্যের মতোই সহজবোধ্য।
পুরনো পদ্ধতি
মিলিসেকেন্ড ম্যাথ (Millisecond Math)
আধুনিক পদ্ধতি
Duration / Period
JDK থেকে
8
কঠিনতা
প্রাথমিক
JDK সমর্থন
Duration এবং Period
উপলব্ধ
JDK 8 (মার্চ 2014) থেকে ব্যাপকভাবে উপলব্ধ
কীভাবে কাজ করে
Duration মেথডটি সময়-ভিত্তিক পরিমাণ (যেমন ঘন্টা, মিনিট, সেকেন্ড) এর জন্য ব্যবহৃত হয়। অন্যদিকে, Period মেথডটি তারিখ-ভিত্তিক পরিমাণ (যেমন বছর, মাস, দিন) এর জন্য ব্যবহৃত হয়। ChronoUnit.between() মেথড দিয়ে সহজভাবে পার্থক্য নির্ণয় করা যায়। এই সকল মেথড এজি কেসগুলো সঠিকভাবে হ্যান্ডেল করে।
সম্পর্কিত ডকুমেন্টেশন
প্রমাণ